Oracle® WebCenter Content Developer’s Guide for Content Server 11g Release 1 (11.1.1) E10807-04
November 2011
Oracle WebCenter Content Developer's Guide for Content Server, 11g Release 1 (11.1.1) E10807-04
Copyright © 1994, 2011, Oracle and/or its affiliates. All rights reserved.
Primary Author: Bonnie Vaughan Contributing Authors: Sean Cearley, Sandra Christiansen, Will Harris, Karen Johnson, Jean Wilson
Contributors: Sharmarke Aden, Scott Nelson, Rick Petty, David Truckenmiller, Ron van de Crommert
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services. Contents
Preface ...... xvii Audience...... xvii Documentation Accessibility...... xvii Related Documents ...... xvii Conventions ...... xviii
New and Changed Features...... xix New Features for 11g Release 1 (11.1.1) ...... xix Changed Features for 11g Release 1 (11.1.1)...... xx
Part I Getting Started with Customizing Oracle WebCenter Content Server
1 Introduction to Oracle WebCenter Content Server 1.1 Overview of Content Server Architecture...... 1-1 1.1.1 WebCenter Content Directories and Files...... 1-1 1.1.1.1 Terminology for WebCenter Content Directories ...... 1-2 1.1.1.2 The bin Directory...... 1-2 1.1.1.3 The config Directory...... 1-3 1.1.1.4 The components Directory...... 1-5 1.1.1.5 The resources Directory...... 1-5 1.1.1.6 The weblayout Directory...... 1-6 1.1.2 Resources ...... 1-6 1.2 Customization Types...... 1-7 1.3 Customization Planning ...... 1-8 1.4 Recommended Skills and Tools for Customizing Content Server ...... 1-9 1.5 Content Server Behavior ...... 1-10 1.5.1 Startup Behavior ...... 1-11 1.5.1.1 Startup Steps...... 1-11 1.5.1.2 Effects of Configuration Loading...... 1-12 1.5.2 Resource Caching ...... 1-13 1.5.3 Page Assembly ...... 1-13 1.5.4 Database Interaction...... 1-14 1.5.5 Localized String Resolution ...... 1-14 1.5.6 Application Integrations...... 1-14
iii 2 Introduction to the Oracle Fusion Order Demo Sample Application 2.1 About Fusion Order Demo and the Suppliers Module...... 2-1 2.2 Setting Up the Fusion Order Demo Application...... 2-2 2.3 Running the Suppliers Module...... 2-2 2.3.1 Suppliers Module Code ...... 2-3 2.3.2 Suppliers Module Pages ...... 2-5
Part II Changing the Look and Feel of the Content Server Interface
3 Customizing the Content Server Interface 3.1 About Customizing the Content Server Interface...... 3-1 3.1.1 Types of Skins and Layouts...... 3-1 3.1.2 Skins...... 3-2 3.1.3 Layouts...... 3-2 3.2 Choosing a Different Skin or Layout ...... 3-2 3.2.1 How to Choose a Different Skin or Layout...... 3-2 3.2.2 What Happens at Runtime...... 3-2 3.3 Configuring a Default Skin and Layout for New Users and Guests...... 3-3 3.4 Modifying the Template for a Skin or Layout ...... 3-3 3.4.1 About Dynamic Publishing...... 3-3 3.5 Altering the Anonymous User Interface ...... 3-4 3.5.1 How to Alter the Anonymous User Interface...... 3-4 3.5.2 What Happens at Runtime...... 3-4 3.6 Changing the URL of the Login Page ...... 3-5 3.7 Creating and Publishing a New Layout ...... 3-7 3.8 Optimizing the Use of Published Files ...... 3-7 3.8.1 Bundling Files...... 3-7 3.8.2 Referencing Published Files ...... 3-9
4 Creating Dynamic Server Pages 4.1 About Dynamic Server Pages...... 4-1 4.1.1 Page Types ...... 4-3 4.1.1.1 IDOC File ...... 4-3 4.1.1.2 HCST File...... 4-3 4.1.1.3 HCSP File...... 4-4 4.1.1.4 HCSF File ...... 4-4 4.2 Altering the Appearance and Navigation of Web Pages ...... 4-4 4.2.1 Syntax ...... 4-4 4.2.1.1 Idoc Script Expressions...... 4-5 4.2.1.2 Comparison Operators ...... 4-6 4.2.1.3 Special Characters...... 4-6 4.2.1.4 Referencing Metadata ...... 4-7 4.2.2 Idoc Script Functions...... 4-7 4.2.2.1 docLoadResourceIncludes Function...... 4-7 4.2.2.1.1 Requirements for Calling the docLoadResourceIncludes Function ...... 4-7 4.2.2.1.2 Parameters...... 4-8 iv 4.2.2.2 executeService Function ...... 4-8 4.2.3 Development Recommendations ...... 4-9 4.2.3.1 General Guidelines...... 4-9 4.2.3.2 HCSF Guidelines ...... 4-10 4.2.4 HCSF Pages...... 4-10 4.2.4.1 Load Section ...... 4-10 4.2.4.1.1 HTML Declaration ...... 4-11 4.2.4.1.2 The docLoadResourceIncludes Function...... 4-11 4.2.4.1.3 Meta Element ...... 4-11 4.2.4.1.4 Variables and Includes ...... 4-11 4.2.4.2 Data Section...... 4-11 4.2.4.2.1 Data Section Structure ...... 4-11 4.2.4.2.2 The idcformrules Element...... 4-12 4.2.4.2.3 Metadata Elements...... 4-13 4.2.4.2.4 Nested Elements...... 4-13 4.2.4.2.5 Referencing XML Elements...... 4-13 4.2.4.2.6 Form Elements ...... 4-14 4.2.4.2.7 ResultSets...... 4-14 4.2.4.3 Form Section...... 4-17 4.2.4.3.1 Form Begin ...... 4-17 4.2.4.3.2 Form Properties ...... 4-17 4.2.4.3.3 Form Fields...... 4-17 4.2.4.3.4 Form Buttons...... 4-18 4.2.4.3.5 Form End ...... 4-18 4.3 Creating an IDOC File with Custom Includes for Dynamic Server Pages...... 4-19 4.4 Creating an HCST Page...... 4-19 4.5 Creating an HCSP Page...... 4-20 4.6 Creating an HCSF Page...... 4-20 4.6.1 Common Code for Forms...... 4-25 4.6.1.1 Retrieving File Information...... 4-25 4.6.1.2 Referencing a File Extension...... 4-25 4.6.1.3 Defining Form Information...... 4-26 4.6.1.4 Defining Form Fields ...... 4-26 4.6.1.5 Defining Hidden Fields ...... 4-26 4.6.1.6 Submitting a Form...... 4-27 4.7 Verifying the Display of an HCST, HCSP, or HCSF Page in a Web Browser...... 4-27
Part III Modifying the Functionality of Content Server
5 Changing System Settings 5.1 About Changing System Settings...... 5-1 5.2 Changing System Settings Through the Admin Server ...... 5-2 5.3 Changing System Settings Through the System Properties Application ...... 5-2 5.4 Customizing the Library and System Home Page with the Web Layout Editor ...... 5-3 5.5 Defining Security and Accounts for Users with the User Admin Application ...... 5-3
v 6 Changing Configuration Information 6.1 About Changing Configuration Information ...... 6-1 6.2 Changing Configurations with the Idoc Script Custom Scripting Language...... 6-1 6.3 Changing Configurations with Development Tools and Technologies ...... 6-2
7 Customizing Services 7.1 About Customizing Services...... 7-1 7.2 Customizing Services for Communicating with Content Server...... 7-2 7.3 Customizing Services for Accessing the Database...... 7-2
8 Generating Actions Menus 8.1 About Generating Actions Menus...... 8-1 8.2 Creating Display Tables...... 8-2 8.2.1 Headline View Tables ...... 8-2 8.2.2 Thumbnail View Tables...... 8-4 8.3 Customizing Actions Menus...... 8-4
Part IV Customizing Content Server with Components
9 Getting Started with Content Server Components 9.1 About Standard, System, and Custom Components...... 9-1 9.1.1 Component Files Overview...... 9-1 9.1.2 Using Components ...... 9-2 9.1.3 About Directories and Files...... 9-4 9.1.3.1 HDA Files ...... 9-4 9.1.3.1.1 Elements in HDA Files ...... 9-5 9.1.3.1.2 The idccs_components.hda, idcibr_components.hda, or idcurm_components.hda File ...... 9-7 9.1.3.1.3 Component Definition Files...... 9-8 9.1.3.2 Custom Resource Files...... 9-8 9.1.3.3 Data Binder...... 9-9 9.1.3.3.1 LocalData...... 9-9 9.1.3.3.2 ResultSets...... 9-9 9.1.3.3.3 Environment ...... 9-9 9.1.3.4 Manifest File ...... 9-9 9.1.3.5 Other Files...... 9-11 9.1.3.5.1 Customized Site Files...... 9-11 9.1.3.5.2 Component ZIP File...... 9-11 9.1.3.5.3 Custom Installation Parameter Files...... 9-12 9.1.3.6 Typical Directory Structure...... 9-12 9.1.4 Development Recommendations ...... 9-12 9.1.4.1 Creating a Component...... 9-12 9.1.4.1.1 How to Create a Custom Component...... 9-12 9.1.4.2 Working with Component Files ...... 9-13 9.1.4.3 Using a Development Content Server...... 9-13
vi 9.1.4.4 Component File Organization ...... 9-14 9.1.4.5 Naming Conventions...... 9-15 9.2 Tools for Managing Components...... 9-15 9.2.1 Component Wizard ...... 9-15 9.2.2 Advanced Component Manager ...... 9-16 9.2.3 ComponentTool ...... 9-18 9.3 Component Files ...... 9-18 9.3.1 The idc Product _components.hda File ...... 9-18 9.3.2 Components ResultSet ...... 9-19 9.3.3 Component Definition (Glue) File...... 9-19 9.3.3.1 ResourceDefinition ResultSet ...... 9-20 9.3.3.1.1 ResourceDefinition ResultSet Columns ...... 9-21 9.3.3.2 MergeRules ResultSet ...... 9-22 9.3.3.2.1 MergeRules ResultSet Columns...... 9-22 9.3.3.3 Filters ResultSet...... 9-23 9.3.3.4 ClassAliases ResultSet ...... 9-23 9.4 Resources for Assembling Web Pages ...... 9-24
10 Enabling and Disabling Components for Content Server 10.1 About Enabling and Disabling Components...... 10-1 10.2 Enabling a Component...... 10-1 10.3 Disabling a Component ...... 10-2
11 Updating Component Configurations 11.1 About Updating Component Configurations...... 11-1 11.2 Updating a Component Configuration with the Advanced Component Manager...... 11-2 11.3 Updating a Component Configuration Through the Configuration for instance Screen ...... 11-2
12 Customizing Content Tracker 12.1 About Content Tracker...... 12-1 12.1.1 Content Tracker and Content Tracker Reports ...... 12-2 12.2 Content Tracker Components and Functions...... 12-2 12.2.1 DataBinder Dump Facility...... 12-2 12.2.1.1 Values for the DataBinder Dump Facility...... 12-3 12.2.1.2 Location of the DataBinder Object Dump Files ...... 12-3 12.2.1.3 Names of the DataBinder Object Dump Files ...... 12-3 12.2.2 Performance Optimization...... 12-4 12.2.3 Installation Considerations ...... 12-4 12.3 Configuration and Customization...... 12-4 12.3.1 Configuration Variables...... 12-4 12.3.1.1 Access Control Lists and Content Tracker Reports Secure Mode...... 12-7 12.3.1.2 Values for the Security Checks Preference Variable ...... 12-8 12.3.1.3 File Types for Entries in the SctAccessLog ...... 12-8 12.3.2 Manually Setting Content Tracker Configuration Variables ...... 12-8 12.3.3 External Users and Content Item Tracking...... 12-9
vii 12.4 Service Call Configuration...... 12-9 12.4.1 About the Service Call Configuration File ...... 12-9 12.4.1.1 General Service Call Logging ...... 12-10 12.4.1.2 Extended Service Call Tracking Function...... 12-10 12.4.1.2.1 Service Call ResultSet Combinations...... 12-11 12.4.1.2.2 General Purpose Columns in the Output Table ...... 12-11 12.4.1.3 Service Call Configuration File Contents...... 12-12 12.4.1.4 ResultSet Examples ...... 12-13 12.4.1.4.1 ServiceExtraInfo ResultSet Entries...... 12-14 12.4.1.4.2 Linked Service Entries and Field Map ResultSets ...... 12-14 12.4.2 About the Content Tracker Logging Service ...... 12-15 12.4.3 Managing Service Call Information ...... 12-16 12.4.3.1 Manually Editing the SctServiceFilter.hda File...... 12-16 12.4.3.2 Setting Required DataBinder Fields to Call the Content Tracker Logging Service ...... 12-17 12.4.3.3 Calling the Content Tracker Logging Service from an Application ...... 12-18 12.4.3.4 Calling the Content Tracker Logging Service from Idoc Script...... 12-18 12.4.4 Service Call Management and the User Interface...... 12-18 12.4.4.1 Adding, Editing, or Deleting Service Entries ...... 12-19 12.4.4.2 Adding, Editing, or Deleting Field Map ResultSets ...... 12-19 12.5 Customizing Content Tracker...... 12-21 12.5.1 Activity Metrics SQL Queries ...... 12-21 12.5.1.1 Customizing the Activity Metrics SQL Queries...... 12-21 12.5.2 External Users and Content Item Tracking...... 12-22 12.6 Web Beacon Functionality ...... 12-22 12.6.1 Web Beacon Use Cases...... 12-23 12.6.2 Web Beacon Overview...... 12-23 12.6.3 Web Beacon Object ...... 12-24 12.6.4 Web Beacon References ...... 12-25 12.6.4.1 Format Structure for URL References ...... 12-25 12.6.4.2 Placement and Retrieval Scheme ...... 12-26 12.6.4.3 Data Capture and Storage ...... 12-26 12.6.5 Reduction Processing for Web Beacon References ...... 12-27 12.6.6 Limitations and Guidelines...... 12-27 12.6.6.1 Limitations...... 12-28 12.6.6.2 Guidelines...... 12-28 12.6.7 Examples of Web Beacon Embedding ...... 12-29 12.6.7.1 Embedded HTML Example ...... 12-29 12.6.7.2 Embedded JavaScript Example ...... 12-30 12.6.7.3 Served JavaScript Example ...... 12-32
13 Customizing Content Categorizer 13.1 About Content Categorizer ...... 13-1 13.2 Customizing Content Categorizer...... 13-1
viii 14 Downloading Custom Components 14.1 About Downloading Custom Components ...... 14-1 14.2 Downloading a Component with the Advanced Component Manager ...... 14-1 14.3 Downloading a Component from Oracle Technology Network ...... 14-2
15 Creating Custom Components 15.1 About Creating Custom Components ...... 15-1 15.2 Creating Resources for a Component ...... 15-1 15.2.1 HTML Includes ...... 15-2 15.2.1.1 The Super Tag ...... 15-2 15.2.1.2 Editing an HTML Include Resource ...... 15-3 15.2.2 Dynamic Data Tables ...... 15-3 15.2.2.1 Specifying Table Formats ...... 15-3 15.2.2.2 Editing a Dynamic Data Table Resource...... 15-5 15.2.2.3 Specifying Table Properties...... 15-5 15.2.2.3.1 Merge Properties ...... 15-6 15.2.2.3.2 Assembly Properties ...... 15-7 15.2.2.3.3 Sort Properties...... 15-8 15.2.2.3.4 Filter and Include Properties ...... 15-9 15.2.2.4 Using Dynamicdata Idoc Script Functions ...... 15-10 15.2.3 String Resources...... 15-10 15.2.3.1 String Parameters ...... 15-12 15.2.3.2 Editing a String Resource ...... 15-13 15.2.4 Dynamic Tables...... 15-13 15.2.4.1 Merge Rules for Dynamic Tables ...... 15-14 15.2.4.2 Editing a Dynamic Table Resource...... 15-14 15.2.5 Static Tables ...... 15-14 15.2.5.1 Merge Rules for Static Tables...... 15-14 15.2.5.2 Editing a Static Table Resource ...... 15-14 15.2.6 Queries ...... 15-14 15.2.6.1 Query Example ...... 15-15 15.2.6.2 Editing a Query Resource...... 15-16 15.2.7 Services...... 15-16 15.2.7.1 Service Example...... 15-19 15.2.7.1.1 Attributes...... 15-20 15.2.7.1.2 Actions ...... 15-21 15.2.7.2 Editing a Service Resource ...... 15-24 15.2.8 Templates...... 15-24 15.2.8.1 Template and Report Pages ...... 15-27 15.2.8.1.1 Template Page Example ...... 15-27 15.2.8.1.2 Report Page Example...... 15-28 15.2.8.2 Editing a Template Resource ...... 15-30 15.2.9 Environment Resources ...... 15-31 15.2.9.1 Environment Resource Example...... 15-31 15.2.9.2 Editing an Environment Resource ...... 15-32
ix 15.3 Creating a Component Definition File...... 15-32 15.4 Restarting Content Server to Apply a Component...... 15-33
16 Installing Components 16.1 About Installing Components...... 16-1 16.2 Packaging a Component for Installation ...... 16-2 16.3 Installing a Component with the Advanced Component Manager...... 16-2 16.4 Installing a Component with the Component Wizard...... 16-3 16.5 Installing a Component with the ComponentTool Utility...... 16-3
17 Uninstalling a Component 17.1 About Uninstalling a Component ...... 17-1 17.2 How to Uninstall a Component...... 17-1
Part V Integrating WebCenter Content into Your Environment
18 Getting Started with Integrating WebCenter Content into Your Environment 18.1 About Integration Methods...... 18-1 18.2 Overview of Web Services...... 18-2 18.3 Virtual Folders and WebDAV Integration ...... 18-3 18.3.1 Virtual Folders...... 18-3 18.3.2 WebDAV Integration ...... 18-4 18.3.2.1 WebDAV Clients ...... 18-4 18.3.2.2 WebDAV Servers...... 18-4 18.3.2.3 WebDAV Architecture...... 18-5
19 Configuring WebCenter Content Web Services for Integration 19.1 About Configuring WebCenter Content Web Services for Integration...... 19-1 19.1.1 WebCenter Content Web Services...... 19-3 19.2 Configuring Web Service Security Through Web Service Policies...... 19-4 19.2.1 Configuring WS-Security through WS-Policy...... 19-4 19.3 Configuring SAML Support...... 19-5 19.3.1 Configuring a Keystore...... 19-5 19.3.2 Configuring JPS for WebCenter Content to Use the Keystore...... 19-5 19.3.3 Creating a Client CSF ...... 19-6 19.3.4 Configuring a Java Client to Use the Keystore and CSF...... 19-7
20 Integrating JavaServer Pages with Content Server 20.1 About JSP Integration...... 20-1 20.1.1 JSP Execution...... 20-1 20.1.2 Tomcat...... 20-2 20.1.3 Features ...... 20-2 20.2 Configuring JSP Support ...... 20-3 20.3 Loading Example Pages...... 20-3
x 21 Using the IdcCommand Utility to Access Content Server 21.1 About the IdcCommand Utility...... 21-1 21.2 Setting Up IdcCommand ...... 21-2 21.2.1 Specifying a Command File ...... 21-2 21.2.1.1 Command File Syntax...... 21-2 21.2.1.2 Precedence ...... 21-3 21.2.1.3 Special Tags and Characters ...... 21-4 21.2.2 Specifying Configuration Options ...... 21-4 21.2.2.1 Command File...... 21-4 21.2.2.2 User...... 21-4 21.2.2.3 Log File...... 21-5 21.2.2.4 Connection Mode ...... 21-5 21.3 Running IdcCommand...... 21-5 21.4 Using the Launcher...... 21-6 21.4.1 Quotation Rules ...... 21-7 21.4.2 Computed Settings ...... 21-7 21.4.3 Launcher Environment Variables ...... 21-10 21.4.4 User Interface ...... 21-11 21.4.5 Configuring the Launcher ...... 21-11 21.4.6 Configuration File Example ...... 21-11 21.5 Calling Services Remotely ...... 21-14
22 Using the COM API for Integration 22.1 About the COM API ...... 22-1 22.2 Calling Content Server Services with the IntradocClient OCX component...... 22-1 22.2.1 OCX Interface ...... 22-2 22.2.2 IdcClient OCX Description...... 22-2 22.2.2.1 OCX Events ...... 22-3 22.2.2.2 OCX Methods...... 22-3 22.2.2.3 OCX Properties ...... 22-3 22.2.2.4 IdcClient OCX Interface...... 22-4 22.2.3 IdcClient OCX Control Setup...... 22-4 22.2.3.1 Setting Up the IdcClient OCX Component...... 22-4 22.2.3.2 Creating a Visual Interface...... 22-4 22.2.4 IdcClient Events ...... 22-13 22.2.4.1 IntradocBeforeDownload...... 22-13 22.2.4.2 IntradocBrowserPost...... 22-14 22.2.4.3 IntradocBrowserStateChange ...... 22-14 22.2.4.4 IntradocRequestProgress...... 22-14 22.2.4.5 IntradocServerResponse...... 22-14 22.2.5 IdcClient OCX Methods...... 22-15 22.2.5.1 AboutBox ...... 22-16 22.2.5.2 Back...... 22-16 22.2.5.3 CancelRequest...... 22-16 22.2.5.4 DoCheckoutLatestRev ...... 22-16 22.2.5.5 DownloadFile...... 22-17
xi 22.2.5.6 DownloadNativeFile...... 22-17 22.2.5.7 Drag ...... 22-18 22.2.5.8 EditDocInfoLatestRev...... 22-18 22.2.5.9 Forward...... 22-19 22.2.5.10 GoCheckinPage...... 22-19 22.2.5.11 Home ...... 22-20 22.2.5.12 InitiateFileDownload ...... 22-20 22.2.5.13 InitiatePostCommand ...... 22-21 22.2.5.14 Move...... 22-21 22.2.5.15 Navigate...... 22-21 22.2.5.16 NavigateCgiPage ...... 22-22 22.2.5.17 Refresh Browser...... 22-22 22.2.5.18 SendCommand ...... 22-22 22.2.5.19 SendPostCommand...... 22-23 22.2.5.20 SetFocus ...... 22-23 22.2.5.21 ShowDMS ...... 22-23 22.2.5.22 ShowDocInfoLatestRev ...... 22-24 22.2.5.23 ShowWhatsThis ...... 22-24 22.2.5.24 StartSearch ...... 22-24 22.2.5.25 Stop ...... 22-24 22.2.5.26 UndoCheckout...... 22-25 22.2.5.27 ViewDocInfo...... 22-25 22.2.5.28 ViewDocInfoLatestRev...... 22-25 22.2.5.29 ZOrder...... 22-26 22.2.6 IdcClient Properties...... 22-26 22.2.6.1 ClientControlledContextValue...... 22-26 22.2.6.2 HostCgiUrl ...... 22-27 22.2.6.3 Password...... 22-27 22.2.6.4 UseBrowserLoginPrompt...... 22-27 22.2.6.5 UseProgressDialog ...... 22-27 22.2.6.6 UserName...... 22-27 22.2.6.7 Working Directory...... 22-27 22.3 Using the ODMA API to Access Content Server from a Desktop Application...... 22-28 22.3.1 ODMA Client ...... 22-28 22.3.2 ODMA Interfaces...... 22-28
23 Using RIDC to Access Content Server 23.1 About Remote Intradoc Client (RIDC) ...... 23-1 23.1.1 Using HttpClient Library Version 4...... 23-3 23.2 Initializing Connections ...... 23-4 23.3 Configuring Clients ...... 23-5 23.4 Authenticating Users...... 23-9 23.5 Using Services...... 23-10 23.6 Understanding Connection Pooling...... 23-11 23.7 Understanding Streams ...... 23-11 23.8 Understanding Binders ...... 23-12
xii 23.9 Understanding Convenience Classes...... 23-13 23.9.1 Setting User Security ...... 23-13 23.9.2 Setting the ADF Connection Facade ...... 23-15 23.10 Understanding RIDC Filters...... 23-17 23.11 Using the RIDC JDeveloper Extension ...... 23-18 23.11.1 Deploying the RIDC Extension...... 23-18 23.11.2 Creating a New Application and Project with RIDC Technologies ...... 23-19 23.11.3 Working with Connections ...... 23-20 23.11.4 Example Service Call...... 23-21
24 Using the Content Server JCR Adapter 24.1 About the Java Content Repository Adapter...... 24-1 24.1.1 JCR Data Model...... 24-2 24.1.2 JCR Adapter Data Model for Content Server ...... 24-2 24.2 Installing Required APIs and Runtime Libraries...... 24-4 24.2.1 Installing ADF Runtime Libraries ...... 24-4 24.2.2 Deploying Remote Intradoc Client (RIDC)...... 24-4 24.2.3 Deploying the JCR API ...... 24-4 24.2.4 Installing the JCR Integration Libraries...... 24-5 24.2.5 Installing the XML Integration Files ...... 24-5 24.3 Deploying the JCR Adapter...... 24-5 24.4 Configuring Communication with Content Server ...... 24-5 24.4.1 Supplying a Communication Method ...... 24-6 24.4.2 Configuring Socket Communication (Listener Port)...... 24-6 24.4.3 Configuring Secure Socket Communication (SSL) ...... 24-6 24.4.4 Configuring Web Communication (Web Server Filter) ...... 24-7 24.4.5 Configuring the User Agent...... 24-7 24.4.6 Supplying Cache Settings...... 24-7 24.5 Finding Information About a Content Item...... 24-7 24.6 Using a Search Index ...... 24-9 24.7 Using the File Store Provider ...... 24-9
25 Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25.1 About Configuring Web Services with WSDL, SOAP, and the WSDL Generator...... 25-1 25.1.1 Web Services Framework ...... 25-2 25.1.1.1 XML Data...... 25-2 25.1.1.2 WSDL Interface...... 25-2 25.1.1.3 SOAP Communication...... 25-3 25.1.1.4 UDDI Registry...... 25-3 25.1.1.5 DIME Message Format ...... 25-3 25.1.1.6 How the Enabling Technologies Work Together...... 25-3 25.1.1.7 Implementation Architecture ...... 25-4 25.1.1.8 Implementation on .NET...... 25-4 25.1.1.9 The SOAP Protocol...... 25-5 25.2 Accessing Content Server with a SOAP Client...... 25-5 25.2.1 Using a Java SOAP Client...... 25-5
xiii 25.3 Calling Content Server Services with SOAP...... 25-6 25.3.1 SOAP Packet Format ...... 25-6 25.3.1.1 HTTP Headers...... 25-6 25.3.1.2 Namespaces...... 25-6 25.3.1.3 Nodes...... 25-7 25.3.1.3.1 Service Node ...... 25-7 25.3.1.3.2 Document Node ...... 25-8 25.3.1.3.3 User Node...... 25-8 25.3.1.3.4 Optionlist Node ...... 25-8 25.3.1.3.5 Option Subnode in an IDC Optionlist Node...... 25-9 25.3.1.3.6 Resultset Subnode ...... 25-9 25.3.1.3.7 Row Subnode ...... 25-9 25.3.1.3.8 Field Subnode ...... 25-9 25.3.2 Special Characters...... 25-10 25.3.3 Sample Service Calls with SOAP Response/Request ...... 25-11 25.3.3.1 Ping the Server ...... 25-11 25.3.3.1.1 Required Parameters...... 25-12 25.3.3.1.2 SOAP Request...... 25-12 25.3.3.1.3 Response ...... 25-12 25.3.3.2 Add a New User ...... 25-12 25.3.3.2.1 Required Parameters...... 25-13 25.3.3.2.2 Optional Parameters ...... 25-13 25.3.3.2.3 Optional Attribute Information...... 25-13 25.3.3.2.4 SOAP Request...... 25-14 25.3.3.2.5 Response ...... 25-14 25.3.3.3 Edit Existing User...... 25-15 25.3.3.3.1 Required Parameters...... 25-16 25.3.3.3.2 Optional Parameters ...... 25-16 25.3.3.3.3 Optional Attribute Information...... 25-16 25.3.3.3.4 SOAP Request...... 25-17 25.3.3.3.5 Response ...... 25-17 25.3.3.4 Get User Information ...... 25-18 25.3.3.4.1 Required Parameters...... 25-18 25.3.3.4.2 SOAP Request...... 25-18 25.3.3.4.3 Response ...... 25-19 25.3.3.5 Delete User ...... 25-20 25.3.3.5.1 Required Parameters...... 25-20 25.3.3.5.2 SOAP Request...... 25-20 25.3.3.5.3 Response ...... 25-20 25.3.3.6 Check In Content Item...... 25-21 25.3.3.6.1 Required Parameters...... 25-22 25.3.3.6.2 Additional Parameters...... 25-22 25.3.3.6.3 Optional Parameters ...... 25-23 25.3.3.6.4 SOAP Request...... 25-23 25.3.3.6.5 Response ...... 25-24
xiv 25.3.3.7 Check out Content Item...... 25-25 25.3.3.7.1 Required Parameters...... 25-25 25.3.3.7.2 Optional Parameters ...... 25-25 25.3.3.7.3 SOAP Request...... 25-26 25.3.3.7.4 Response ...... 25-26 25.3.3.8 Undo Content Item Checkout...... 25-27 25.3.3.8.1 Required Parameters...... 25-27 25.3.3.8.2 Optional Parameters ...... 25-27 25.3.3.8.3 SOAP Request...... 25-28 25.3.3.8.4 Response ...... 25-28 25.3.3.9 Get Content Item Information ...... 25-29 25.3.3.9.1 Required Parameters...... 25-29 25.3.3.9.2 SOAP Request...... 25-29 25.3.3.9.3 Response ...... 25-29 25.3.3.10 Get File ...... 25-30 25.3.3.10.1 Required Parameters...... 25-31 25.3.3.10.2 Optional Parameter...... 25-32 25.3.3.10.3 SOAP Request...... 25-32 25.3.3.10.4 Response ...... 25-32 25.3.3.11 Get Search Results ...... 25-34 25.3.3.11.1 Required Parameters...... 25-34 25.3.3.11.2 Optional Parameters ...... 25-34 25.3.3.11.3 SOAP Request...... 25-35 25.3.3.11.4 Response ...... 25-35 25.3.3.12 Get Table Data...... 25-37 25.3.3.12.1 Required Parameters...... 25-37 25.3.3.12.2 SOAP Request...... 25-37 25.3.3.12.3 Response ...... 25-37 25.3.3.13 Get Criteria Workflow Information...... 25-38 25.3.3.13.1 Required Parameters...... 25-38 25.3.3.13.2 SOAP Request...... 25-39 25.3.3.13.3 Response ...... 25-39 25.4 Using SOAP Packets in Active Server Pages ...... 25-40 25.4.1 Sample SOAP Request ...... 25-40 25.4.2 Sample Active Server Page...... 25-41 25.5 Generating WSDL Files to Access WebCenter Content ...... 25-44 25.5.1 Understanding WSDL Files...... 25-44 25.5.1.1 WSDL File Structure...... 25-44 25.5.1.1.1 Data Type ...... 25-45 25.5.1.1.2 Message...... 25-45 25.5.1.1.3 Port Type ...... 25-45 25.5.1.1.4 Binding...... 25-45 25.5.1.1.5 Service and Port...... 25-46 25.5.2 Sample WSDL File ...... 25-46 25.5.3 Generating WSDL Files...... 25-49 25.5.4 Generating Proxy Class from WSDL Files ...... 25-50 25.6 Customizing WSDL Files...... 25-50
xv 26 Customizing the DesktopTag Component 26.1 About the DesktopTag Component ...... 26-1 26.2 Enabling the DesktopTag and OracleCleanContent Components ...... 26-2 26.3 Checking Out and Checking In Content Items with DesktopTag...... 26-2 26.3.1 File Get Operation...... 26-2 26.3.2 File Check-In Operation...... 26-2 26.4 Adding Properties to Checked-Out Content Items ...... 26-3 26.4.1 Viewing Custom Properties ...... 26-4 26.4.2 Checking In Documents from Outside Content Server ...... 26-5 26.5 Configuring the DesktopTag Component...... 26-6 26.5.1 DesktopTagFormats Property...... 26-6 26.5.2 DesktopTagPrefix Property...... 26-6 26.5.3 DesktopTagFields Property...... 26-7 26.5.4 DesktopTagPrefixCustom Property...... 26-7 26.5.5 DesktopTagFieldsCustom Property...... 26-7 26.5.6 DesktopTagPrefixExtended Property...... 26-8 26.5.7 DesktopTagFieldsExtended Property...... 26-8 26.5.8 DefaultTaskPaneUrl Property...... 26-8 26.5.9 DesktopTagLog Property ...... 26-9 26.5.10 DesktopTagFormatsExclude Property ...... 26-9
Part VI Appendices
A Troubleshooting A.1 About Troubleshooting Aids...... A-1 A.2 Viewing Server Errors ...... A-1 A.3 Viewing Page Data ...... A-1 A.4 Monitoring Resource Loading ...... A-2 Index
xvi Preface
Oracle WebCenter Content Server is highly functional out of the box, but you can tailor it to your site requirements in many different ways. This developer’s guide provides information to help you customize your Content Server instance.
Audience This guide is intended for developers and administrators who want to customize Oracle WebCenter Content Server software to suit content management needs that are specific to their business or organization.
Documentation Accessibility For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Related Documents For more information, see the following Oracle WebCenter Content 11g Release 1 (11.1.1) documents, which are part of the Oracle Fusion Middleware documentation set:
■ Oracle WebCenter Content Application Administrator's Guide for Content Server
■ Oracle WebCenter Content Idoc Script Reference Guide
■ Oracle WebCenter Content Remote Intradoc Client (RIDC) Java API Reference
■ Oracle WebCenter Content Services Reference Guide
■ Oracle WebCenter Content System Administrator's Guide for Content Server
xvii For additional information, also see the following Oracle Fusion Middleware 11g Release 1 (11.1.1) documents:
■ Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework
■ Oracle Fusion Middleware Getting Started With JAX-WS Web Services for Oracle WebLogic Server
■ Oracle Fusion Middleware Interoperability Guide for Oracle Web Services Manager
■ Oracle Fusion Middleware Programming Advanced Features of JAX-WS Web Services for Oracle WebLogic Server
■ Oracle Fusion Middleware Security and Administrator's Guide for Web Services
■ Oracle Fusion Middleware Third-Party Application Server Guide
Conventions This document uses the following text conventions.
Convention Meaning boldface Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary. italic Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values. monospace Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.
xviii New and Changed Features
This section introduces the new and changed features of Oracle WebCenter Content that are covered in this guide for Oracle WebCenter Content Server developers.
New Features for 11g Release 1 (11.1.1) 11g Release 1 (11.1.1) includes the following new features:
■ This guide combines information that was previously contained in the following documents: – Dynamic Server Pages Guide – Getting Started with the Stellent Developer’s Kit (SDK) – Idc Command Reference Guide – Modifying the Content Server Interface – Oracle Fusion Middleware JCR Adapter Guide for Content Server – Oracle Fusion Middleware Developer's Guide for Remote Intradoc Client (RIDC) – Using WSDL Generator and SOAP – Working with Components
■ Web services WebCenter Content uses Oracle WebLogic Server web services. For more information, see Chapter 19, "Configuring WebCenter Content Web Services for Integration."
■ ComponentTool The ComponentTool utility has been added to provide a command-line tool for installing, enabling, and disabling components. For more information, see Chapter 9, "Getting Started with Content Server Components."
■ Oracle WebCenter Content Server deployment: Content Server is deployed with WebCenter Content to an Oracle WebLogic Server domain, which means changes in configuring and administering Content Server. For more information, see the Oracle WebCenter Content System Administrator's Guide for Content Server.
xix Changed Features for 11g Release 1 (11.1.1) 11g Release 1 (11.1.1) includes the following changes:
■ Oracle WebCenter Content directories and files: WebCenter Content 11g Release 1 (11.1.1) is provided as part of a full media installation of Oracle WebCenter Content, with the WebCenter Content directories and files. The directory structure for a WebCenter Content 11g instance is different from an Oracle Universal Content Management 10g instance. For a description of terms and path names that are important for understanding and working with the WebCenter Content structure, see Section 1.1.1.1, "Terminology for WebCenter Content Directories."
■ SOAP: SOAP is provided with Oracle WebLogic Server, not in Oracle WebCenter Content.
■ Web Form Editor: The Web Form Editor user interface and FCKEditor are not supported.
■ CIS deprecated: Content Integration Suite (CIS) has been deprecated. Developers and system integrators are directed to use Remote Intradoc Client (RIDC), which provides a thin communication API for communication with Oracle WebCenter Content Server. For details, see the Oracle WebCenter Content Remote Intradoc Client (RIDC) Java API Reference. For more information, see Section 23, "Using RIDC to Access Content Server."
■ Oracle Enterprise Content Management Suite (Oracle ECM) is now part of the Oracle WebCenter product stack to provide the most complete, open, and unified enterprise content management platform. The Oracle WebCenter Content Server software and documentation have been rebranded accordingly.
xx Part I
Part I Getting Started with Customizing Oracle WebCenter Content Server
This part provides an overview of customizing Oracle WebCenter Content Server customization and describes the tools and resources that are available for customization. This part also describes the Oracle Fusion Order Demo sample application. Part I contains the following chapters:
■ Chapter 1, "Introduction to Oracle WebCenter Content Server"
■ Chapter 2, "Introduction to the Oracle Fusion Order Demo Sample Application"
1
1Introduction to Oracle WebCenter Content Server
This chapter provides an overview of Oracle WebCenter Content Server and describes the tools you need and the resources available for customization. This chapter includes the following sections:
■ Section 1.1, "Overview of Content Server Architecture"
■ Section 1.2, "Customization Types"
■ Section 1.3, "Customization Planning"
■ Section 1.4, "Recommended Skills and Tools for Customizing Content Server"
■ Section 1.5, "Content Server Behavior" For information about troubleshooting aids, see Appendix A, "Troubleshooting."
1.1 Overview of Content Server Architecture Before beginning a customization project, you need to understand the architecture of Content Server and how it works. To create a customization efficiently and effectively, you should have an understanding of the Oracle WebCenter Content directories and files, available resources, and Content Server behavior. The web user interface for WebCenter Content, Content Server is deployed as an application to an Oracle WebLogic Server domain. For information about how Content Server works, see Section 1.5, "Content Server Behavior." Content Server can also be deployed to an IBM WebSphere Application Server. For more information, see "Managing Oracle WebCenter Content on IBM WebSphere" in the Oracle Fusion Middleware Third-Party Application Server Guide.
1.1.1 WebCenter Content Directories and Files When you create custom components or dynamic server pages, you work primarily with WebCenter Content files in these directories:
■ bin
■ config
■ components
■ resources
■ weblayout
Introduction to Oracle WebCenter Content Server 1-1 Overview of Content Server Architecture
Caution: Modifying the default variables in these files can cause WebCenter Content to malfunction. For more information about configuration variables, see the Oracle WebCenter Content Idoc Script Reference Guide.
1.1.1.1 Terminology for WebCenter Content Directories Oracle WebCenter Content documentation uses the following terms when referring to variables in the directories associated with the Oracle WebCenter Content installation, configuration, and deployment:
■ IdcHomeDir: This variable refers to the ucm/idc directory in the WebCenter Content Oracle home, where the WebCenter Content server media is located. The server media can run Oracle WebCenter Content Server, Oracle WebCenter Content: Inbound Refinery, or Oracle WebCenter Content: Records. This is essentially a read-only directory. The default location is WC_CONTENT_ORACLE_ HOME/ucm/idc. The variable portion of the default location can be changed, but the path cannot be changed from ucm/idc.
■ DomainHome: The user-specified directory where an Oracle WebCenter Content application is deployed to run on an application server. The DomainHome/ucm/short-product-id/bin directory contains the intradoc.cfg file and executables. The default location for DomainHome is MW_ HOME/user_projects/domains/base_domain, but you can change the path and domain name (base_domain) during the deployment of an Oracle WebCenter Content application to an application server.
■ short-product-id: An abbreviated name for the type of Oracle WebCenter Content application deployed to an application server. This name is used as the context root (default HttpRelativeWebRoot configuration value). Possible values follow:
■ cs (Content Server)
■ ibr (Inbound Refinery)
■ urm (Records)
■ IntradocDir: The root directory for configuration and data files specific to a Content Server instance that is part of an Oracle WebCenter Content application deployed to an application server. This Idoc Script variable is configured for one type of Content Server instance: Content Server (cs), Inbound Refinery (ibr), or Records (urm). The default location of IntradocDir is DomainHome/ucm/short-product-id, but the IntradocDir directory can be located elsewhere (as defined in the intradoc.cfg file). The specified directory must be an absolute path to the instance directory and must be unique to a particular server or node. The directory files include startup files (intradoc.cfg and executables).
1.1.1.2 The bin Directory The bin directory is the root directory for Content Server startup files. It contains the intradoc.cfg file and the executable files that run Content Server services, applets, and utilities. It is located at DomainHome/ucm/short-product-id/bin, in which short-product-id specifies whether it is for Content Server (cs), Inbound Refinery (ibr), or Records (urm). Table 1–1 describes the contents of the bin directory.
1-2 Oracle WebCenter Content Developer's Guide for Content Server Overview of Content Server Architecture
Table 1–1 Contents of the bin Directory for Startup Files Element Description Executables Services
■ IdcServer
■ IdcServerNT Applet
■ IntradocApp (launches all Admin tools) Utilities
■ BatchLoader
■ Installer
■ IdcAnalyze
■ ComponentWizard
■ SystemProperties
■ IdcCommand intradoc.cfg file Configuration file that contains the settings for Content Server services, applets, and utilities
Note: If Content Server is set up as an automatic service and you attempt to start a Content Server service (IdcServer or IdcServerNT) from the command line, you will receive an error message: The port could not be listened to and is already is use.
The intradoc.cfg file is used to define system variables for Content Server, including directory, Internet, and Inbound Refinery settings. Several of these variables can be set using the WebCenter Content System Properties utility. Example 1–1 shows a typical intradoc.cfg file.
Example 1–1 intradoc.cfg File #Content Server Directory Variables IntradocDir=C:/oracle/idcm1/ WebBrowserPath=C:/Program Files/Internet Explorer/iexplore.exe CLASSPATH=$COMPUTEDCLASSPATH;$SHAREDDIR/classes/jtds.jar
#Additional Variables HTMLEditorPath=C:/Program Files/Windows XP/Accessories/wordpad.exe JAVA_SERVICE_EXTRA_OPTIONS=-Xrs
1.1.1.3 The config Directory The config directory is located at IntradocDir/config. The default location of IntradocDir is DomainHome/ucm/short-product-id, but the IntradocDir directory can be located elsewhere (as defined in the intradoc.cfg file). Table 1–2 describes the contents of the config directory.
Table 1–2 Contents of the config Directory File Description config.cfg Defines system configuration variables.
Introduction to Oracle WebCenter Content Server 1-3 Overview of Content Server Architecture
The config.cfg file is used to define global variables for the Content Server system. Several of these variables can be set using the WebCenter Content System Properties utility or by modifying the variables on the Admin Server General Configuration page. Example 1–2 shows a typical config.cfg file.
Example 1–2 config.cfg File #Content Server System Properties IDC_Name=idcm1 SystemLocale=English-US InstanceMenuLabel=JeanWTestSystem InstanceDescription=idcm1 SocketHostAddressSecurityFilter=127.0.0.1|10.10.1.14
#Database Variables IsJdbc=true JdbcDriver=com.internetcds.jdbc.tds.Driver JdbcConnectionString=jdbc:freetds:sqlserver://jwilsonnote:1433/oracle1;charset=UTF 8;TDS=7.0 JdbcUser=sa JdbcPassword=UADle/+jRz7Fi8D/VzTDaGUCwUaQgQjKOQQEtI0PAqA= JdbcPasswordEncoding=Intradoc DatabasePreserveCase=0
#Internet Variables HttpServerAddress=jwilsonnote MailServer=mail.example.com [email protected] SmtpPort=25 HttpRelativeWebRoot=/oracle/ CgiFileName=idcplg UseSSL=No WebProxyAdminServer=true NtlmSecurityEnabled=No UseNtlm=Yes
#General Option Variables EnableDocumentHighlight=true EnterpriseSearchAsDefault=0 IsDynamicConverterEnabled=0 IsJspServerEnabled=0 JspEnabledGroups=
#IdcRefinery Variables
#Additional Variables WebServer=iis UseAccounts=true IdcAdminServerPort=4440 SearchIndexerEngineName=DATABASE VIPApproval:isRepromptLogin=true Vdk4AppSignature=SF37-432B-222T-EE65-DKST Vdk4AppName=INTRANET INTEGRATION GROUP IntradocServerPort=4444
1-4 Oracle WebCenter Content Developer's Guide for Content Server Overview of Content Server Architecture
1.1.1.4 The components Directory The IntradocDir/data/components directory contains the files that Content Server uses to configure system components. Table 1–3 describes the contents of the components directory.
Table 1–3 Contents of the data/components Directory File Description idcshort-product-id_ Identifies components that have been added to the Content components.hda Server system and whether they are enabled or disabled. Example: idccs_components.hda. component.hda Identifies the configuration status for a component.
Example 1–3 shows a component.hda file that defines the configuration status for a component called help.
Example 1–3 component.hda File @Properties LocalData blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM @end @ResultSet Components 2 name location help components/help/help.hda @end
1.1.1.5 The resources Directory The IdcHomeDir/resources directory contains two directories: admin and core. The resources/core directory contains files that Content Server uses to assemble web pages. Table 1–4 describes the subdirectories of the resources/core directory.
Table 1–4 Contents of the resources/core Directory Subdirectory Description config Holds base configuration files for Content Server. idoc Holds IdocScript dynamichtml and dynamicdata definitions. install Holds files that are used by the installer and related applications. javascript Holds files that are processed by the publishing engine and end up in the weblayout directory as raw JavaScript files. jspserver Holds jspserver XML files. lang Holds localized string definitions for Content Server. reports Holds templates for Content Server reports. resources Holds resource definitions (queries, page resources, services, and other resource data) for Content Server. tables Holds IdocScript resource table definitions. templates Holds templates for all Content Server pages (except reports).
Introduction to Oracle WebCenter Content Server 1-5 Overview of Content Server Architecture
Table 1–5 describes the subdirectories of the resources/admin directory.
Table 1–5 Contents of the resources/admin Directory Subdirectory Description idoc Holds IdocScript dynamichtml and dynamicdata definitions. tables Holds IdocScript resource table definitions. templates Holds templates for all Content Server pages (except reports).
1.1.1.6 The weblayout Directory The DomainHome/ucm/short-product-id/weblayout directory contains the files that are available to the web server for display on the various pages of the Content Server web site. Table 1–6 describes the subdirectories of the weblayout directory.
Table 1–6 Contents of the weblayout Directory Subdirectory Description groups Holds the web-viewable content items and dynamic server pages. images Holds images, such as icons and home page graphics. resources Holds layouts, skins, and schema information.
1.1.2 Resources Resources are files that define and implement the actual customization you make to Content Server. They can be pieces of HTML code, dynamic page elements, queries that gather data from the database, services that perform Content Server actions, or special code to conditionally format information. Resources are a critical part of the Content Server software, so you must be familiar with them before you attempt to create a custom component or dynamic server page. You can create, edit, or remove a resource file by using the Component Wizard. You also can use the Component Wizard as a starting point for creating custom resources. Resources fall into distinct categories, which table describes. The first five types listed in the table are also called resource-type resources. Table 1–7 describes these resource types.
1-6 Oracle WebCenter Content Developer's Guide for Content Server Customization Types
Table 1–7 Resource Types Resource Type Description Example of Standard Resource HTML Include Defines pieces of HTML markup IdcHomeDir/resources/core/idoc/std_ and Idoc Script code that are used page.idoc on multiple Content Server web pages. Dynamic Data Defines a table of data in a IdcHomeDir/resources/core/idoc/std_ Table dynamicdata include from within data.idoc IdocScript to load an HTML table definition, interface menu actions, or information about metadata fields or from within Java code as an alternative to static tables loaded into SharedObjects. String Defines localized strings for the IdcHomeDir/resources/core/lang/cs_ user interface and error messages. strings.htm Dynamic Table Provides dynamic (frequently IdcHomeDir/resources/core/templates/templat (HDA format) changed) content in table format to es.hda Content Server. Static Table Provides static (seldom changed) IdcHomeDir/resources/core/tables/std_ (HTML format) content in table format to Content locale.htm Server. Query Defines database queries. IdcHomeDir/resources/core/tables/query.htm Service Defines scripts for services that can IdcHomeDir/resources/core/tables/std_ be performed by Content Server. services.htm Template Defines templates, which contain IdcHomeDir/resources/core/templates/checkin the code that Content Server uses to _new.htm assemble a particular web page. Environment Defines configuration settings for IntradocDir/config/config.cfg Content Server.
1.2 Customization Types Three major types of alterations can be made to Content Server:
■ Altering the look and feel of the product You can customize the look and feel of the Content Server interface to meet your organization's specifications. Interface modifications can be as simple as replacing the icons that appear on the standard Content Server web pages or as complex as a complete redesign of the interface.
■ Modifying the functionality of the product By changing how the product functions, you can tailor Content Server to the way your business or organization functions. For example, you can change the default date and time stamp, or change aspects of check-in behavior.
■ Integrating the product into your environment You can use shell scripts, SOAP, J2EE, JSP, and clusters to more fully integrate Content Server into your site's current environment.
Introduction to Oracle WebCenter Content Server 1-7 Customization Planning
1.3 Customization Planning Before approaching customization, it is important to clarify exactly why the customization is being undertaken. For example, to add corporate branding, you can use the Modify Layout Samples to do so. Or to change security features, you can use components to modify the default security settings. Customization often occurs to make Content Server match the business practices of an organization. Often, after evaluating your business processes, you may find that sometimes it is more efficient to slightly alter your procedures before customizing Content Server. There are six major stages in customization: 1. Determine why you want to customize. Is there corporate personalization to be done? Is there a better way to present navigation options or material? Depending on what type of need you find, you can determine which tools are best to use. Oftentimes the cosmetic details that you change are the ones that can most satisfy your users; changing items such as layout, colors, and images often provide the effect that users are looking for. 2. Plan the customization carefully. Take into account those aspects of the Content Server environment that might be changed even peripherally by the customization. All customization should be done in a test environment, separate from the site's production environment. 3. Check to see if a solution may be available. The samples on the Support web site contain many types of customizations. You might be able to use an existing component with just a little editing. A number of samples are provided on an as-is basis. These are components or files that demonstrate, enhance, or extend the functionality of WebCenter Content. 4. Evaluate the problem and how essential it is to solve. Some problems might require more effort to fix than the resulting payback. Perhaps customization is not needed, but simply a minor change in business practices. 5. Test the customization thoroughly in a separate environment. If possible, have end users assist with the testing. When the testing has passed all criteria for release, inform users about the changes and how to implement them. 6. Document the customization that you create. All alterations should be documented as completely as possible, both within the actual customization (for example, as a comment in a dynamic server page or in a component) and as a separate README document. This documentation provides a historical audit trail for others who might need to add to the customization later.
1-8 Oracle WebCenter Content Developer's Guide for Content Server Recommended Skills and Tools for Customizing Content Server
1.4 Recommended Skills and Tools for Customizing Content Server Content Server brings together a wide variety of technologies to deliver advanced functionality. To modify Content Server, certain experience and skills with some or all of these technologies are required. The technical skills required to customize Content Server can vary depending on the complexity of the customization. For example, much customization can be accomplished with knowledge of HTML and Idoc Script. This list describes, in descending order of importance, the technologies and experience you might need to modify Content Server:
■ Content Server architecture You should thoroughly understand how Content Server works and how components and dynamic server pages function before you begin customizing your system.
■ HTML and cascading style sheets (CSS) You will need a good understanding of HTML and CSS to make changes to the Content Server web page templates. The templates are not complex in their use of HTML, but they make constant use of HTML tables and frequent use of forms. The std_page.idoc and std_css.idoc files include cascading style sheets to control the look and feel of the default templates, including fonts and layouts.
■ Idoc Script Idoc Script is the custom, server-side scripting language for Content Server. Almost every Content Server web page includes some Idoc Script code, which provides the methods for processing various page elements.
■ JavaScript The internal content of most Content Server pages do not use JavaScript, but the Search, Check-In, and Update pages are notable exceptions. You must have an understanding of JavaScript before you create a customization that is called in place of these pages. Also, you must understand JavaScript to alter layouts. Changing layouts relies heavily on JavaScript and cascading style sheets for design and navigation.
■ Structured Query Language (SQL) Content Server uses SQL to perform queries on the database. Knowledge of SQL can help you understand the standard queries and create your own custom queries.
■ Java programming Content Server is implemented with Java classes. You should have a thorough understanding of Java and the Content Server Java class files before attempting to make any changes to the underlying functionality. However, you can customize the product extensively without working with Java.
■ Other programming Experience with other tools, such as Visual Basic, COM, .Net, C++, or VBScript, might be helpful if you are doing complex customization or integrating WebCenter Content with other systems.
Introduction to Oracle WebCenter Content Server 1-9 Content Server Behavior
You may find the following tools useful when customizing Content Server:
■ Text editor Most product customizing can be done with a normal text editor, such as Microsoft WordPad or vi.
■ HTML editor
Caution: Graphical HTML editor programs often change the source HTML, which can cause Idoc Script tags to be converted into strings of characters that are no longer recognized by Content Server. If you use a graphical editor, make sure you edit in a nongraphical mode.
If you prefer to use a graphical HTML editor to work with HTML pages, use a nongraphical mode for editing.
■ Multiple browsers You should test customization on multiple versions of any web browsers that might be used to interface with the content management system. Internet Explorer, Firefox, and Chrome do not display content in the same manner, and different versions of the same browser may exhibit different behaviors.
■ JavaScript debugger A JavaScript debugger can ease the task of JavaScript development. A number of JavaScript debuggers are available for download from the Internet.
■ Integrated Development Environment (IDE) for Java If your customization requires the development of Java code, you need an appropriate Java development environment.
1.5 Content Server Behavior Before you customize WebCenter Content, you need to understand the behavior of Oracle WebCenter Content Server:
■ Startup behavior
■ Resource caching
■ Page assembly
■ Database interaction
■ Localized string resolution
■ Application integrations For an overview of Content Server, see "Introduction to Content Server Administration" in the Oracle WebCenter Content System Administrator's Guide for Content Server.
1-10 Oracle WebCenter Content Developer's Guide for Content Server Content Server Behavior
1.5.1 Startup Behavior During startup, a Content Server instance performs internal initialization and loads these items: 1. Configuration variables 2. Standard templates, resources, and reports 3. Custom components, including templates, resources, configuration variables, and reports Figure 1–1 illustrates the four steps that Content Server goes through during startup. Section 1.5.1.1, "Startup Steps," describes each step in more detail.
Figure 1–1 Content Server Startup Behavior
1.5.1.1 Startup Steps During startup, Content Server goes through these steps: 1. Internal initialization occurs. When Content Server initializes internally, the Java class files from Content Server are read and the Java Virtual Machine (JVM) is invoked. Any variables in the DomainHome/ucm/short-product-id/intradoc.cfg file are initialized as well. 2. Configuration variables load. After initialization, Content Server loads the config.cfg file from the IntradocDir/config directory. This file stores the system properties and configuration variables, which are defined by name/value pairs (such as SystemLocale=English-US).
Introduction to Oracle WebCenter Content Server 1-11 Content Server Behavior
The default information contained within the configuration file was supplied during the Oracle WebCenter Content installation process, but you can modify this file in several ways:
■ Use the Admin Server General Configuration page, accessible from the Administration menu
■ Run the SystemProperties executable, located in the bin directory of the Oracle WebCenter Content installation (UNIX operating system)
■ Edit the configuration files directly
■ Use a custom component Any time changes are made to the config.cfg file, you must restart Content Server for the changes to take effect. 3. Standard resources, templates, and reports load. For Content Server to function properly, many standard resources, templates, and reports must be loaded. After the configuration settings have been loaded, Content Server reads the entries in the IdcHomeDir/resources/core/templates/templates.hda file and the IdcHomeDir/resources/core/reports/reports.hda file. These files tell Content Server which templates to load, which in turn loads any standard resources referenced in the template and report pages. 4. Custom components load. Content Server loads all of the components listed in IntradocDir/data/components/idcshort_product_id_ components.hda, and in turn that loads system components out of IdcHomeDir/components/ComponentName/ComponentName.hda or, for custom components, out of IntradocDir/custom/ComponentName/ComponentName.hda.
1.5.1.2 Effects of Configuration Loading It is important to understand the effect of the load order for the different configuration files because if a variable is set in more than one file, the last variable loaded takes precedence. For example, the IntradocDir/config/config.cfg file is loaded before the IntradocDir/data/components/component_name/config.cfg file, so the component_name/config.cfg can change the value of a variable that was set by the config/config.cfg file. Files are loaded in this order (not all files exist for each component): 1. DomainHome/ucm/short-product-id/bin/intradoc.cfg 2. IntradocDir/config/config.cfg 3. DomainHome/ucm/short-product-id/custom/component_name/*_ environment.cfg Some components might not have this file, or it might be named environment.cfg. 4. IntradocDir/data/components/component_name/install.cfg 5. IntradocDir/data/components/component_name/config.cfg 6. DomainHome/ucm/short-product-id/bin/intradoc.cfg This file is reread at the end of startup to allow overrides to other settings.
1-12 Oracle WebCenter Content Developer's Guide for Content Server Content Server Behavior
If, for example, the same variable was set in each of the files in the list, the variable’s value in intradoc.cfg would take precedence because this file was loaded last. To view the configuration, you can use the GET_SYSTEM_AUDIT_INFO service to show all configuration entries and where they were set. To change a component variable, you can use the Update Component Configuration area in the Advanced Component Manager. This area displays a dropdown list of components that have editable configurations in the component_name/config.cfg file. You can choose a component and click Update to get to the Update Component Configuration page in Content Server. You can also edit the configuration file manually. If a component is not displayed in the Update Component Configuration list in the Advanced Component Manager, you can make your changes directly in one of the configuration files.
1.5.2 Resource Caching Content Server handles caching for template pages and resources as follows:
■ When Content Server loads template pages and resources, they are cached in memory to accelerate page presentation.
■ If you change a template page, report page, or HTML include resource, or you check in a revision to a dynamic server page, your changes go into effect immediately. The next request for the associated web page or refresh of the page reflects the changes, and the new information is cached. This occurs because pages are assembled dynamically for each page request. You can disable this behavior to improve performance by setting the configuration variable DisableSharedCacheChecking.
■ If you change any other component file (including services, queries, environment variables, tables, the idcshort-product-id_components.hda file, and the template.hda file), you must restart Content Server before the changes go into effect. Such changes could cause Content Server to malfunction if they were implemented immediately. You do not need to restart Content Server after changing strings; however, you must republish the ww_strings.js files by clicking publish string and dynamic files or publish string, static, and dynamic files in the Weblayout Publishing area of the Admin Actions page. For more information, see Chapter 9, "Getting Started with Content Server Components."
1.5.3 Page Assembly Content Server uses the following information from the files in the IdcHomeDir/resources directory to assemble dynamic web pages:
■ The structure and format of a web page This structure and format are defined by a particular HTML template file. The template files are primarily in the resources/core/templates directory, and some templates are in the resources/core/reports and resources/admin/templates directories.
■ The templates reference resources These resources are located in .htm and .idoc files in subdirectories of the resources directory. Resources can include HTML and Idoc Script markup,
Introduction to Oracle WebCenter Content Server 1-13 Content Server Behavior
localized strings, queries to gather information from the database, and special code to conditionally format the information. As a rule, each web page includes the following resources:
■ Standard page header
■ Standard page beginning
■ Standard page ending Because all of the Content Server resources are cached in memory at startup, Content Server has a definition for the standard pieces that appear on the page. Content Server then combines the standard resources with the unique resources specified in the template to create the web page. For dynamic server pages, the template page and custom resource files are checked into Content Server. When one of these pages is requested by a web browser, Content Server recognizes the file extension as a dynamic server page, which enables special processing. At that point, the page assembly process is the essentially the same as the standard process, except that the page can use both the standard resources in the resources directory and the custom resources that are checked in to Content Server.
1.5.4 Database Interaction Some databases, such as Oracle Database, return all column names in uppercase characters. Therefore, when Content Server receives query results from these databases, column names must be mapped from the uppercase characters to the values used in Content Server. Because of this case mapping issue, custom components created for a Content Server instance using one database might not work correctly on a Content Server instance using a different database. To map column names, the IdcHomeDir/resources/core/resources/upper_ clmns_map.htm file contains a mapping table named ColumnTranslation. Add the query values to this file when you create a component that accesses fields that are not WebCenter Content database fields (for example, if you create a component that accesses a custom table within the WebCenter Content database). For information about using the upper_clmns_map.htm file, see Section 5, "Changing System Settings."
1.5.5 Localized String Resolution Localized strings are the means by which the user interface and error messages are presented in the language specified by the user's locale. Content Server loads the string resource files for a base language and also loads resource files for every supported language. Instead of presenting hard-coded text, the template pages, applets, and error messages reference string IDs in these resource files, which are then resolved using the ExecutionContext that contains the locale information for the user.
1.5.6 Application Integrations Content Server not only serves as a content management solution for content-centric web sites, but also provides a scalable content management infrastructure that supports multiple enterprise applications in many diverse environments and platforms. The integration solutions enable other enterprise applications to access content managed by the content management system and provides these applications with critical content management capabilities such as full-text and metadata searching,
1-14 Oracle WebCenter Content Developer's Guide for Content Server Content Server Behavior library services, workflow, subscription notifications, and content conversion capabilities through a wide array of integration methods. For information about integrating Content Server with enterprise applications, see Section 18, "Getting Started with Integrating WebCenter Content into Your Environment."
Introduction to Oracle WebCenter Content Server 1-15 Content Server Behavior
1-16 Oracle WebCenter Content Developer's Guide for Content Server 2
2Introduction to the Oracle Fusion Order Demo Sample Application
This chapter describes the Oracle Fusion Order Demo sample application, how to set it up, and how to run the Suppliers Module. This chapter includes the following sections:
■ Section 2.1, "About Fusion Order Demo and the Suppliers Module"
■ Section 2.2, "Setting Up the Fusion Order Demo Application"
■ Section 2.3, "Running the Suppliers Module" The instructions in this chapter are for setting up and running the sample application on Oracle WebLogic Server. Content Server can also be deployed to an IBM WebSphere Application Server. For more information, see "Managing Oracle WebCenter Content on IBM WebSphere" in the Oracle Fusion Middleware Third-Party Application Server Guide.
2.1 About Fusion Order Demo and the Suppliers Module In the Oracle Fusion Order Demo sample application, electronic devices are sold through a storefront web application. Customers can visit the web site, register, and place orders for products. To view and run the demo, you need to install Oracle JDeveloper 11g. Then you need to download the application for the demonstration. For instructions to complete these tasks, see Section 2.2, "Setting Up the Fusion Order Demo Application." After the application is installed and running, you can view the code using Oracle JDeveloper. You can view the application at runtime by logging in as an existing customer and placing an order. The Suppliers module of Fusion Order Demo demonstrates the use of Java EE to create web applications for a web supplier management system. The demonstration application is used to illustrate points and provide code samples. The Suppliers module consists of a business services project named Model and a web user interface project named ViewController. You run the Suppliers module of the Fusion Order Demo application in JDeveloper by running the ViewController project. The ViewController project uses JavaServer Faces (JSF) as the view technology, and the project relies on the ADF Model layer to interact with the EJBs in the Model project. To learn more about the Suppliers module and to understand its implementation details, see Section 2.3.1, "Suppliers Module Code" and Section 2.3.2, "Suppliers Module Pages."
Introduction to the Oracle Fusion Order Demo Sample Application 2-1 Setting Up the Fusion Order Demo Application
2.2 Setting Up the Fusion Order Demo Application The Fusion Order Demo application runs using an Oracle database and Oracle JDeveloper 11g. The platforms supported are the same as those supported by JDeveloper.
To set up the Fusion Order Demo application: 1. Install Oracle JDeveloper 11g and meet the installation prerequisites. The Fusion Order Demo application requires an existing Oracle database. 2. Install the Fusion Order Demo application from the Oracle Technology Network. 3. Install Mozilla FireFox, version 2.0 or higher, or Internet Explorer, version 7.0 or higher. 4. Run the application on a monitor that supports a screen resolution of 1024 X 768 or higher. For more information, see "Setting Up the Fusion Order Demo Application" in the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
2.3 Running the Suppliers Module
To run the Suppliers module of the Fusion Order Demo application: 1. Download and install the Fusion Order Demo application as described in "Setting Up the Fusion Order Demo Application" in the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework. 2. Open the application in Oracle JDeveloper: a. From the JDeveloper main menu, choose Open from the File menu. b. Navigate to the location to which you extracted the demo ZIP file, select the SupplierModule_2.0.jws application workspace from the SupplierModule directory, and click Open. Figure 2–1 shows the Application Navigator after you open the file for the application workspace. For a description of each of the projects in the workspace, see Section 2.3.1, "Suppliers Module Code."
Figure 2–1 The Suppliers Module Projects in Oracle JDeveloper
2-2 Oracle WebCenter Content Developer's Guide for Content Server Running the Suppliers Module
3. In the Application Navigator, click the Application Resources accordion title to expand the panel. 4. In the Application Resources panel, expand the Connections and Database nodes. 5. Right-click FOD connection and choose Properties. 6. In the Edit Database Connection dialog, modify the connection information shown in Table 2–1 for your environment.
Table 2–1 Connection Properties Required to Run the Fusion Order Demo Application Property Description Host Name The host name for your database. For example: localhost JDBC Port The port for your database. For example: 1521
SID The SID of your database. For example: ORCL or XE
Do not modify the user name and password fod/fusion. These must remain unchanged. Click OK. 7. In the Application Navigator, right-click Model and choose Rebuild. 8. In the Application Navigator, right-click ViewController and choose Run. The login.jspx page is displayed. Because of the way security is configured in this module, you must first log in. 9. Enter SHEMANT for User Name and welcome1 for Password. Once you log in, the browse page appears, which allows you to search for products. Once you select a product in the results table, you can edit or remove the product information. Using the command links at the top of the page, you can edit the corresponding supplier’s information, or add a new supplier. For more information about the Suppliers module at runtime, see Section 2.3.2, "Suppliers Module Pages."
2.3.1 Suppliers Module Code Once you have opened the projects in Oracle JDeveloper, you can then begin to review the artifacts within each project. The Model project contains the Java classes and metadata files that allow the data to be displayed in the web application. The oracle.fodemo.common project contains components used by multiple classes in the application. The oracle.fodemo.supplier project contains the components used to access the supplier data. Figure 2–2 shows the Model project and its associated directories.
Introduction to the Oracle Fusion Order Demo Sample Application 2-3 Running the Suppliers Module
Figure 2–2 The Model Project in JDeveloper
The ViewController project contains the files for the web interface, including the backing beans, deployment files, and JSPX files. The Application Sources node contains the code used by the web client, including the managed and backing beans, property files used for internationalization, and the metadata used by Oracle ADF to display bound data. The Web Content node contains web files, including the JSP files, images, skin files, deployment descriptors, and libraries. Figure 2–3 shows the ViewController project and its associated directories.
2-4 Oracle WebCenter Content Developer's Guide for Content Server Running the Suppliers Module
Figure 2–3 The ViewController Project in JDeveloper
2.3.2 Suppliers Module Pages The Supplier module contains eight main pages that enable a user to perform these tasks:
■ Search for products: The browse.jspx page enables a user to search for products. Search results are displayed in a table. Figure 2–4 shows the search form on the browse page.
Figure 2–4 Search Form in Supplier Module
Introduction to the Oracle Fusion Order Demo Sample Application 2-5 Running the Suppliers Module
■ Edit row data in a table: From the table on the browse.jspx page, a user can select a product and choose Update to navigate to the productInfo.jspx page (clicking the product link also navigates to this page). From the table, a user can also click Remove, which launches a popup that allows the removal of the selected product. Figure 2–5 shows the table on the browse page.
Figure 2–5 Table on the browse Page
■ Edit row data in a form: From the productInfo.jspx page, a user can change the data for a row. A selection list contains valid values for the product status. The Choose File button enables a user to upload a graphic file, which is then displayed below the form. Figure 2–6 shows a productInfo.jspx page.
Figure 2–6 Product Details Page
■ The Add Supplier link takes the user to a series of pages contained within the regisrationDetails.jspx page that are used to create a new supplier, as shown in Figure 2–7.
2-6 Oracle WebCenter Content Developer's Guide for Content Server Running the Suppliers Module
Figure 2–7 Create a Supplier Train
■ Log in to the application: The login.jspx page allows users to log in to the application. For more information, see "Enabling ADF Security in a Fusion Web Application" in the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
Introduction to the Oracle Fusion Order Demo Sample Application 2-7 Running the Suppliers Module
2-8 Oracle WebCenter Content Developer's Guide for Content Server Part II
Part II Changing the Look and Feel of the Content Server Interface
This part provides information about the several different methods that you can use to change the appearance and navigation of the Oracle WebCenter Content Server interface. Part II contains the following chapters:
■ Chapter 3, "Customizing the Content Server Interface"
■ Chapter 4, "Creating Dynamic Server Pages"
3
3Customizing the Content Server Interface
This chapter provides information about the several different methods that you can use to customize the look and feel of the Oracle WebCenter Content Server interface. You can use skins and layouts to change the appearance of the user interface and dynamic server pages to change the navigation. This chapter includes the following sections:
■ Section 3.1, "About Customizing the Content Server Interface"
■ Section 3.2, "Choosing a Different Skin or Layout"
■ Section 3.3, "Configuring a Default Skin and Layout for New Users and Guests"
■ Section 3.4, "Modifying the Template for a Skin or Layout"
■ Section 3.5, "Altering the Anonymous User Interface"
■ Section 3.6, "Changing the URL of the Login Page"
■ Section 3.7, "Creating and Publishing a New Layout"
■ Section 3.8, "Optimizing the Use of Published Files"
Tip: In addition to using the methods discussed in this chapter, you can alter the metadata fields that are presented to users and modify the types of presentations used for check-in pages, search pages, and other user interfaces. For information about creating and modifying metadata fields and creating content profiles, see "Managing Repository Content" in the Oracle WebCenter Content Application Administrator's Guide for Content Server.
3.1 About Customizing the Content Server Interface Skins and layouts provide alternate color schemes and alternate navigation designs.
3.1.1 Types of Skins and Layouts Some skins and layouts are provided by default with Oracle WebCenter Content Server. In addition, you can design custom skins and layouts. When you change the skin or layout, you change the look and feel of the interface. You can select a skin and layout from the options provided on the User Profile page. The only skills required to create and modify skins or layouts is an understanding of HTML, Cascading Style Sheets, and JavaScript. After altering the appearance, the edited layouts and skins are published so that others in your environment can use them.
Customizing the Content Server Interface 3-1 Choosing a Different Skin or Layout
Note: Only administrators can make new or custom skins. For more information about setting the default look and feel of the user interface, see Section 3.3, "Configuring a Default Skin and Layout for New Users and Guests."
3.1.2 Skins Skins define the color scheme and other aspects of appearance of the layout such as graphics, fonts, or font size. (the default skin is Oracle). You can design custom skins or modify the existing skins.
3.1.3 Layouts Layouts define the navigation hierarchy display (the default layout is Trays) and custom layouts can be designed. Custom layouts change behavior and the look-and-feel systemwide. If you want your changes to apply only in limited situations, you might want to consider dynamic server pages.These layouts are provided:
■ Trays: This layout with the standard Oracle skin is the default interface. High-level navigation occurs through the navigation trays.
■ Top Menus: This layout provides an alternate look with top menus providing navigation.
3.2 Choosing a Different Skin or Layout You can choose a different skin to provide an alternate color scheme or a different layout to provide an alternate navigation design, or both.
3.2.1 How to Choose a Different Skin or Layout The User Personalization settings available on the User Profile page enable users to change the layout of Content Server or the skin.
Important: This personalization functionality works with Internet Explorer 7+ or Mozilla Firefox 3+ and later versions.
To choose a different skin or layout: 1. On the Content Server Home page, click your_user_name in the top menu bar. The User Profile page appears. 2. Choose the desired skin and layout. 3. Click Update, and view the changes.
3.2.2 What Happens at Runtime After you choose a different skin or layout, it becomes the user interface for Content Server whenever you log in.
3-2 Oracle WebCenter Content Developer's Guide for Content Server Modifying the Template for a Skin or Layout
3.3 Configuring a Default Skin and Layout for New Users and Guests These values can be placed in the IntradocDir/config/config.cfg file to alter the default behavior for the Content Server instance:
■ LmDefaultSkin: The name of the skin used by guests, and new users. The default is Oracle.
■ LmDefaultLayout: The name of the layout used by guests, and new users. The default is Trays, but it can be set to Top Menus.
3.4 Modifying the Template for a Skin or Layout The Top Menus and Trays layouts are included by default with the system. The two layouts have two skin options (Oracle and Oracle2). The layouts are written in JavaScript, and the look of the skins is created using Cascading Style Sheets. You can modify skins and layouts by altering the template files provided with Content Server or design new skins and layouts by creating components that can be shared with other users.
3.4.1 About Dynamic Publishing When Content Server starts, or when the PUBLISH_WEBLAYOUT_FILES service is run, the PublishedWeblayoutFiles table in the std_resource.htm file is used to publish files to the weblayout directory. To have your custom component use this publishing mechanism, create a template, and then merge a custom row that uses that template into the PublishedWeblayoutFiles table. Other users who want to modify or customize your file can override your template or your row in the PublishedWeblayoutFiles table. If your template uses any resource includes, other users can override any of these includes or insert their own Idoc Script code using the standard super notation. When your component is disabled, the file is no longer published or modified and Content Server returns to its default state. In addition to giving others an easy way to modify and add to your work, you can also construct these former static files using Idoc Script. For example, you can have the files change depending on the value of a custom configuration flag. You can use core Content Server objects and functionality by writing custom Idoc Script functions and referencing them from inside your template. Because this Idoc Script is evaluated once during publishing, you cannot use Idoc Script as you would normally do from the IdcHomeDir/resources/core/idoc/std_page.idoc file. When a user requests that file, it has already been created, so the script that was used to create it did not have any access to the current service’s DataBinder object or to any information about the current user. This does limit the type of Idoc Script you can write in these files. If you are writing CSS or JavaScript that needs information that dynamically changes with users or services, consider having the pages that need this code include the code inline. This increases the size of pages delivered by your web server and so increases the amount of bandwidth used.
Customizing the Content Server Interface 3-3 Altering the Anonymous User Interface
3.5 Altering the Anonymous User Interface The ExtranetLook component can be used to change the interface for anonymous, random users. An example of this is when a web site based on Content Server must be available to external customers without a login, but you want employees to be able to contribute content to that web site. When Content Server is running on Oracle WebLogic Server, the ExtranetLook component alters privileges for certain pages so that they require write privilege to access. The component also makes small alterations to the static portal page to remove links that anonymous, random users should not see.
Note: The ExtranetLook component does not provide form-based authentication for Oracle WebLogic Server or provide customizable error pages.
The ExtranetLook component is installed (disabled) with Content Server. To use the component, you must enable it with the Component Manager. You can customize your web pages to make it easy for customers to search for content, and then give employees a login that permits them to see the interface on login. To do the customization, modify the ExtranetLook.idoc file, which provides dynamic resource includes that can be customized based on user login. The IDOC file is checked in to the Content Server repository so it can be referenced by the Content Server templates.
3.5.1 How to Alter the Anonymous User Interface You can update the look and feel of the anonymous user interface for the Content Server web site by altering the following files in the IntradocDir/data/users directory:
■ prompt_login.htm
■ access_denied.htm
■ report_error.htm
To alter the anonymous user interface: 1. Display the Web Layout Editor. 2. From the Options menu, choose Update Portal. 3. Modify the portal page as you want to. You can use dynamic resource includes to customize this page. 4. Click OK. 5. Customize the ExtranetLook.idoc file as you want to. 6. Check out the ExtranetLook content item from Content Server. 7. Check in the revised ExtranetLook.idoc file to Content Server.
3.5.2 What Happens at Runtime After you modify the portal page and customize theExtranetLook.idoc file, your design becomes the user interface for Content Server whenever a user goes to the web site without logging in.
3-4 Oracle WebCenter Content Developer's Guide for Content Server Changing the URL of the Login Page
3.6 Changing the URL of the Login Page You can change the URL of the Login page for Content Server by changing its context root, which is normally /cs/. You cannot change the URL by setting a relative context root with the HttpRelativeWebRoot property because the value of this property does not apply to the Login page. If you need to change the web location where users log in, you can redeploy the WebCenter Content application with a deployment plan.
To change the URL of the Login page: 1. Log in to the Oracle WebLogic Server Administration Console as the administrator of the domain where WebCenter Content is deployed. 2. Click Deployments under the name of your domain, in the Domain Structure area on the left. 3. Click Oracle WebCenter Content - Content Server in the Deployments table on the Control tab of the Summary of Deployments page. This application may be on the second or third page of the table. 4. Note the path to the deployment plan. If no plan is specified for your WebCenter Content instance, you can create one: a. Click Configuration on the Settings for Oracle WebCenter Content - Content Server page. b. Change the value of any parameter on the Configuration tab. c. Click Save. d. Confirm the path to the deployment plan on the Save Deployment Plan Assistant page, or change the path. e. Click OK. 5. In a text editor, add lines at two places in the deployment plan: a. Add the original_loginpage_path and original_loginerror_path variables, each in a
Customizing the Content Server Interface 3-5 Changing the URL of the Login Page
b. In the
6. Stop the WebCenter Content Managed Server (UCM_server1 by default), with the stopManagedWebLogic script.
■ UNIX script: DomainHome/bin/stopManagedWebLogic.sh UCM_server1
■ Windows script: DomainHome\bin\stopManagedWebLogic.cmd UCM_server1 7. In the Administration Console, click Deployments under the name of your domain. 8. Select Oracle WebCenter Content - Content Server in the Deployments table, and click Update. 9. Select Redeploy this application using the following deployment files, make sure the path to the deployment plan is correct, and then click Finish. 10. After the redeployment completes successfully, click Apply Changes. 11. Start the WebCenter Content Managed Server with the startManagedWebLogic script.
■ UNIX script: DomainHome/bin/startManagedWebLogic.sh UCM_server1
■ Windows script: DomainHome\bin\startManagedWebLogic.cmd UCM_server1
3-6 Oracle WebCenter Content Developer's Guide for Content Server Optimizing the Use of Published Files
12. In the Administration Console, click Deployments. 13. Select Oracle WebCenter Content - Content Server in the Deployments table, and from the Start menu, choose Servicing all requests. 14. After the WebCenter Content application is launched, verify that the URL of the login page has changed.
3.7 Creating and Publishing a New Layout The following general steps are necessary to create and publish new layouts: 1. Merge a table into the LmLayouts table in IdcHomeDir/resources/core/tables/std_publishing.htm to define the new layout. Define the layout ID, label, and whether it is enabled (set to 1) or not. 2. Merge a table into the PublishedWeblayoutFiles table in IdcHomeDir/resources/core/tables/std_publishing.htm. This new table describes the files that are created from Content Server templates and then pushed out to the weblayout directory. Specify the necessary skin.css files to push out to each skin directory. 3. Merge a table with the PublishedStaticFiles table in std_ publishing.htm. This lists the directories that contain files, such as images, that should be published to the weblayout directory.
3.8 Optimizing the Use of Published Files You can direct Content Server to bundle published files so that they can be delivered as one, minimizing the number of page requests to the server. In addition, you can optimize file use by referencing published pages using Idoc Script.
3.8.1 Bundling Files Multiple resources may be packaged together into units called bundles. A bundle is a single file containing one or more published resources. Only JavaScript and css resources should be bundled and only with other resources of the same type. Bundling helps reduce the client overhead when pages are loaded but increases client parse, compile, and execute overhead. Generally, it is recommended to bundle resources that have some thematic similarity or are expected to be included at similar times. For example, if you know that resources A, B, and C are needed on every page, and resources D, E, and F are needed rarely but are all needed together, it is recommended to bundle A, B, and C together and to put D, E, and F into a separate bundle. Almost all JavaScript resources for the Content Server core are bundled into one of two bundles: yuiBundle.js, which contains script provided by the third-party Yahoo User Interface library, and bundle.js, which contains the rest of the resources. The PublishedBundles table is used for determining how resources are bundled. Essentially a bundle is identified by its target bundlePath, which is the path name to the bundle (relative to the weblayout directory), and a list of rules detailing which resource classes are included or excluded. A loadOrder value in this table applies only to the order in which the filtering rules are applied, not the order in which the resources appear in the bundle.
Customizing the Content Server Interface 3-7 Optimizing the Use of Published Files
Note: The bundling has changed since Oracle Universal Content Management 10g, which used a different table and had a loadOrder value that determined the order of resources in each bundle.
Static weblayout file contents are cached on client machines and on web proxies, significantly lowering the amount of server bandwidth they use. Therefore, the best practice is to use these types of files wherever possible. However, each static weblayout file requested by the client’s browser requires a round-trip to the server just to verify that the client has the most up-to-date version of the file. This occurs even if the file is cached. As the number of these files grows, so does the number of downloads from the server for each page request. To help minimize the number of round-trips, Content Server can bundle multiple published files so that they are delivered as one. You can disable this feature by setting the following configuration in the server’s IntradocDir/config/config.cfg file: BundlePublishedWeblayoutFiles=false
Bundling is accomplished by using the PublishedBundles table in the std_publishing.htm file, which Example 3–1 shows.
Example 3–1 PublishedBundles Table in std_publishing.htm File <@table PublishedBundles@>
bundlePath | includeClass | excludeClass | loadOrder |
resources/bundle.js | javascript:common | 128 |
The columns in this table are as follows:
■ bundlePath: The eventual location where the bundle is published. This path is relative to the weblayout directory.
■ includeClass: This is used to determine which resources to include in a bundle.
■ excludeClass: This is used to determine which resources to exclude from a bundle.
■ loadOrder: The order in which the includeClass and excludeClass filters are applied. In the previous example, files of the javascript:common class are published to a single bundle located at resources/layouts/commonBundle.js. The contents of all bundled files that match this class are appended to form a single file to be stored at that location.
3-8 Oracle WebCenter Content Developer's Guide for Content Server Optimizing the Use of Published Files
3.8.2 Referencing Published Files Most published files (both bundled and unbundled) must be directly referenced from within HTML to be included in a page. It can therefore be difficult to know exactly which files to include for a given situation, especially when bundling can be enabled or disabled by server administrators. A simple Idoc Script method can be used to easily and transparently include all of the files you need on a given page. For example, if you write a page that includes all files associated with the javascript:common bundle (as described previously), then do not write HTML that includes all of the files mentioned in the first table in addition to the bundle mentioned in the second, the server is asked for each file. This negates the purpose of bundling because the server is pinged for each file whether it actually exists or not. Example 3–2 shows Idoc Script code, within the HEAD section for a page, to correctly include these files on the page.
Example 3–2 Idoc Script to Reference a Bundle of Files <$exec createPublishedResourcesList("javascript:common")$> <$loop PublishedResources$> <$endloop$>
This code fragment includes all javascript:common files even if bundling is switched off. If javascript instead of javascript:common is passed, all files whose class starts with javascript are included. This PublishedResources result set is sorted by loadOrder, so files and bundles with the lowest loadOrder are included first. Files with a greater loadOrder can override JavaScript methods or CSS styles that were declared earlier.
Customizing the Content Server Interface 3-9 Optimizing the Use of Published Files
3-10 Oracle WebCenter Content Developer's Guide for Content Server 4
4Creating Dynamic Server Pages
This chapter describes how to use the building blocks necessary for creating dynamic server pages to alter the appearance and navigation of web pages. This chapter includes the following sections:
■ Section 4.1, "About Dynamic Server Pages"
■ Section 4.2, "Altering the Appearance and Navigation of Web Pages"
■ Section 4.3, "Creating an IDOC File with Custom Includes for Dynamic Server Pages"
■ Section 4.4, "Creating an HCST Page"
■ Section 4.5, "Creating an HCSP Page"
■ Section 4.6, "Creating an HCSF Page"
■ Section 4.7, "Verifying the Display of an HCST, HCSP, or HCSF Page in a Web Browser"
4.1 About Dynamic Server Pages Dynamic server pages are files that are checked in to Content Server and then used to generate web pages dynamically. Dynamic server pages are typically used to alter the look-and-feel and the navigation of web pages. For example, dynamic server pages can be used to do these tasks:
■ Create web pages to be published through Content Publisher
■ Implement HTML forms
■ Maintain a consistent look-and-feel throughout a web site Dynamic server pages include the following file formats:
■ IDOC: A proprietary scripting language
■ HCST: Hypertext Content Server Template, similar to a standard Content Server template page stored in the IdcHomeDir/resources/core/templates directory.
■ HCSP: Hypertext Content Server Page, an HTML-compliant version of the HCST page, usually used for published content.
■ HCSF: Hypertext Content Server Form, similar to HCSP and HCST pages, but containing HTML form fields that can be filled out and submitted from a web browser
Creating Dynamic Server Pages 4-1 About Dynamic Server Pages
When you use dynamic server pages, Content Server assembles web pages dynamically using a custom template (HCST, HCSP, or HCSF file) that you have checked in to Content Server. The template calls HTML includes from a text file (IDOC file) that you have also checked in to Content Server. To make changes to the look-and-feel or navigation on a web page, you modify the HCS* template page, or the IDOC file, or both, and then check in the revised files as new revisions. Your changes are available immediately. Using dynamic server pages with Content Server gives you these advantages:
■ You can introduce and test customizations quickly and easily. Simply checking in a revision of a dynamic server page implements the changes immediately—you do not have to restart Content Server.
■ Your web pages can make use of functionality not found in standard HTML. For example, HTML forms can be submitted directly to Content Server without the need for CGI scripts. Also, Idoc Script enables you to work directly with environment and state information about Content Server.
■ You do not have to install or keep track of component files. It can be difficult to maintain and troubleshoot components if they have a lot of files or your system is highly customized. Dynamic server pages are easier to work with because you can check in just a few content items that contain all of your customizations.
■ Customizations can be applied to individual pages. Dynamic server pages enable you to apply customizations to a single page rather than globally, leaving the standard Content Server page coding intact. Keep the following constraints in mind when deciding whether to use dynamic server pages:
■ Dynamic server pages cannot be used to modify core functionality of Content Server. Dynamic server pages are most useful for customizing your web design and form pages.
■ Frequent revisions to dynamic server pages can result in a large number of obsolete content items. You should do as much work on a development system as possible before deploying to a production instance, and you may need to delete out-of-date pages regularly. Figure 4–1 shows the process for generating and using a Dynamic Server Page.
4-2 Oracle WebCenter Content Developer's Guide for Content Server About Dynamic Server Pages
Figure 4–1 The Dynamic Server Page Process
4.1.1 Page Types There are four types of dynamic server pages, which are identified in Content Server by their four-character file-name extensions:
■ IDOC
■ HCST
■ HCSP
■ HCSF
4.1.1.1 IDOC File An IDOC file is a text file containing HTML includes that are called by HCST, HCSP, and HCSF pages. For more information about includes, see Chapter 9, "Getting Started with Content Server Components."
4.1.1.2 HCST File A Hypertext Content Server Template (HCST) file is a template page, similar to a standard Content Server template page, that is used as a framework for assembling a web page.
■ HCST pages are typically used when the content of the page itself is dynamic or where Content Server functionality is needed, such as on a search page, search results page, or custom check-in page.
■ Because this type of page consists mostly of dynamically assembled code, HCST files are not indexed in Content Server.
Creating Dynamic Server Pages 4-3 Altering the Appearance and Navigation of Web Pages
4.1.1.3 HCSP File A Hypertext Content Server Page (HCSP) file is a published web page that displays actual web site content.
■ HCSP files are typically created either by generating the web page through Content Publisher using an HCST page as a template, or by submittal of a form in Content Server through an HCSF page.
■ Because this type of page contains web-viewable content, HCSP files are indexed in Content Server.
4.1.1.4 HCSF File A Hypertext Content Server Form (HCSF) file is similar to an HCSP file, except that it contains HTML form fields that can be filled out and submitted from a web browser.
■ When a user fills out and submits a form from an HCSF page, an HCSP file is checked in as a separate content item with metadata defined by XML elements for the HCSF page.
■ Because this type of page contains web-viewable content, HCSF files are indexed in Content Server. For more information about HCSF pages, see Section 4.1.1.4, "HCSF File."
4.2 Altering the Appearance and Navigation of Web Pages Although dynamic server pages are implemented in Content Server differently than custom components, you must be familiar with WebCenter Content component architecture concepts, particularly Content Server templates and HTML includes. For more information, see Chapter 9, "Getting Started with Content Server Components." Use the following basic procedure to customize your Content Server instance with dynamic server pages: 1. Create an IDOC file with custom includes. 2. Check in the IDOC file to Content Server. 3. Create an HCST, HCSP, or HCSF file that references the IDOC file. 4. Check in the HCS* file to Content Server. 5. Display the HCS* file in your web browser by searching for it in Content Server or linking to it from a published web page.
Tip: Using dynamic server pages with Content Publisher can be a powerful tool for web publishing. For more information, see the Content Publisher documentation.
4.2.1 Syntax Because the different types of dynamic server pages are interpreted and displayed differently, the Idoc Script in the files must be coded differently. The following table summarizes these differences.
4-4 Oracle WebCenter Content Developer's Guide for Content Server Altering the Appearance and Navigation of Web Pages
File Type .idoc .hcst .hcsp .hcsf Full Text Indexed? No No Yes Yes Idoc Script Expressions <$ … $> <$ … $> [!--$ … --] [!--$ … --] Comparison Operators Symbols (==) Symbols (==) Special operators Special operators (eq) (eq) Special Characters Symbols (&) Symbols (&) Escape sequence Escape sequence (&) (&) Referencing Metadata Required Required Required Required
Notes: Idoc Script uses standard HTML include coding. For more information, see Section 15.2.1, "HTML Includes." HCST uses standard Content Server template coding. For more information, see Section 15.2.8.1, "Template and Report Pages." Special coding is used with HCSP and HCSF to allow the page to be rendered both statically and dynamically, and full-text indexed.
4.2.1.1 Idoc Script Expressions For HCSP and HCSF pages, Idoc Script expressions are generally placed between HTML comment tags. When a page is viewed statically, this placement enables a web browser to present the page content while ignoring any dynamic code that is used to format the content. This also enables the full-text indexing engine to successfully index the contents of these pages. Some examples follow.
■ IDOC or HCST file: <$include MyIdocExpression$>
■ HCSP or HCSF file: In some situations, you might want to control the opening and closing of the HTML comment. In HCSP and HCSF files, this can be done by substituting other characters for the dash (-) in the closing tag after an Idoc Script expression, as Example 4–1 shows.
Example 4–1 Pound Sign Delimiter for HTML Comment in HCSP or HCSF File .
In Example 4–1, the pound sign (#) is substituted for the dash (-). Another option in HCSP and HCSF files is to substitute brackets ([]) for the opening and closing tags (< >) of the standard HTML comment, as Example 4–2 shows. This substitution enables an XHTML parser to properly identify all the script when viewed statically.
Example 4–2 Bracket Delimiters for HTML Comment in HCSP or HCSF File .
Creating Dynamic Server Pages 4-5 Altering the Appearance and Navigation of Web Pages
4.2.1.2 Comparison Operators For HCSP and HCSF pages, the standard comparison operators (such as ==) cannot be used because of their special meaning to HTML parsers. Use the following comparison operators in dynamic server pages.
IDOC or HCST File HCSP or HCSF File Description == eq Tests for equality. != ne Tests for inequality. < lt Tests if less than. > gt Test if greater than. <= le Tests if less or equal than. >= ge Tests if greater or equal than.
For example, the following code evaluates whether or not the value of the variable count is greater than 10.
IDOC or HCST File HCSP or HCSF File <$if count > 10$> <$"Count is greater than"$> <$endif$>
4.2.1.3 Special Characters For HCSP and HCSF pages, special characters such as the ampersand (&) cannot used because of their special meaning to HTML parsers. You must use the standard HTML or XML escape format (such as & or &).
Note: It is especially important to use the & escape character when you call the docLoadResourceIncludes function from an HCSP or HCSF page. For more information, see Section 4.2.2.1, "docLoadResourceIncludes Function."
As the following examples show, in Idoc Script, a quotation mark can be included in a string by preceding it with a backslash escape character, but in an HCSP or HCSF page, the quotation mark character must be represented by an HTML escape character.
■ IDOC or HCST file: "Enter \"None\" in this field."
■ HCSP or HCSF file: "Enter "None" in this field." In an HCST page, a line feed is inserted using \n. In an HCSP page, insert the line feed directly in the file or encode it in the XML using the numeric ASCII number for a line feed.
Note: You can now substitute the word join for the & string join operator. For example, you can write [!--$a join b--] instead of [!--$a & b--]. The first is accepted by an XML parser inside an attribute of a element, but the second is not.
4-6 Oracle WebCenter Content Developer's Guide for Content Server Altering the Appearance and Navigation of Web Pages
4.2.1.4 Referencing Metadata For dynamic server pages, several metadata values are stored with a ref: prefix, which makes them available to the page but does not replace ResultSet values. (This prevents pollution of result sets by dynamic server pages.) When you reference any of the following metadata values on a dynamic server page, you must include the ref: prefix:
■ hasDocInfo
■ dDocName
■ dExtension
■ dSecurityGroup
■ isLatestRevision
■ dDocType For example, the following statement determines if the document type is Page: <$if strEquals(ref:dDocType,"Page"))$>
4.2.2 Idoc Script Functions Two special Idoc Script functions are required for dynamic server pages:
■ docLoadResourceIncludes
■ executeService
4.2.2.1 docLoadResourceIncludes Function To be able to use the HTML includes in an IDOC file, an HCS* file must call the docLoadResourceIncludes function, as in the following examples. This function loads all the includes from the specified IDOC file for use in assembling the current page. Example 4–3 shows the format for calling this function from an HCST file.
Example 4–3 docLoadResourceIncludes Function Call in HCST File <$docLoadResourceIncludes("dDocName=system_std_ page&RevisionSelectionMethod=Latest")$>
Example 4–4 shows the format for calling this function from an HCSP or HCSF file.
Example 4–4 docLoadResourceIncludes Function Call in HCSP or HCSF file
4.2.2.1.1 Requirements for Calling the docLoadResourceIncludes Function ■The native file for the specified content item must have a.idoc extension.
■ The docLoadResourceIncludes call must be placed before the first include call in the HCS* file. It is recommended that you place this function within the HEAD section of the page.
■ You must use the correct ampersand character when you call the docLoadResourceIncludes function from an HCS* page. For more information, see Section 4.2.1.3, "Special Characters."
Creating Dynamic Server Pages 4-7 Altering the Appearance and Navigation of Web Pages
4.2.2.1.2 Parameters Use the following parameters with the docLoadResourceIncludes function to specify which IDOC file to call.
■ You must define either a dDocName or a dID; do not use both parameters together.
■ If you define a dDocName, you must define RevisionSelectionMethod to be Latest or LatestReleased.
■ If you define a dID, do not define a RevisionSelectionMethod, or define the RevisionSelectionMethod to be Specific.
Parameter Description dDocName Specifies the Content ID value of the IDOC file. This parameter should always be present when the Content ID value is known. Error messages are based on the assumption that it is present, as are other features, such as forms. dID Specifies the unique ID number of a particular revision of the IDOC file. RevisionSelectionMetho Specifies which revision of the IDOC file to use: d ■ Latest: The latest checked-in revision of the document is used (including revisions in a workflow).
■ LatestReleased: The latest released revision of the document is used.
■ Specific: Use only with dID. Rendition Specifies which rendition of the IDOC file to use:
■ Primary: The primary (native) file. This is the default value in effect if no Rendition value is specified.
■ Web: The web-viewable file.
■ Alternate: The alternate file.
4.2.2.2 executeService Function The executeService function executes a Content Server service from within a dynamic server page. For example: HCST file: <$executeService("GET_SEARCH_RESULTS")$> HCSP or HCSF file:
■ Services that can be called with the executeService function must be scriptable, meaning that they do not require parameter input.
■ Scriptable services have an access level of 32 or more. For more information, see Chapter 18, "Getting Started with Integrating WebCenter Content into Your Environment."
■ For a list of standard Content Server services, see the IdcHomeDir/resources/core/tables/std_services.htm file.
■ For more information about the executeService function, see the Oracle WebCenter Content Idoc Script Reference Guide.
■ For more information about services, see the Chapter 18, "Getting Started with Integrating WebCenter Content into Your Environment."
Performance Tip: Use services sparingly. Too many service calls on a page can affect performance and limit scalability.
4-8 Oracle WebCenter Content Developer's Guide for Content Server Altering the Appearance and Navigation of Web Pages
4.2.3 Development Recommendations The following recommendations to assist you in developing dynamic server pages include general guidelines and HCSF guidelines.
4.2.3.1 General Guidelines The following recommendations apply to the development of all types of dynamic server pages:
■ Keep templates as simple and free of code as possible. Strive to have only HTML includes in your templates, with all code and conditionals in an IDOC file. This is especially helpful for HCSF pages, where submitted forms also reflect changes made to the IDOC file.
■ Whenever you are customizing an Oracle WebCenter Content Server instance, you should isolate your development efforts from your production system. Keep in mind that frequent revisions to dynamic server pages can result in a large number of obsolete content items. You should do as much work on a development system as possible before deploying to a production instance, and you may need to delete out-of-date pages regularly.
■ When you develop a web site using dynamic server pages, think of the development and contribution processes in terms of ownership: – Structure, including site design and navigation, is owned by the webmaster. When you use dynamic server pages, structure is contained in and controlled with includes that are defined in IDOC files. –Content, that is, the actual text of the web pages, is owned by the contributors. When you use dynamic server pages, content is contained primarily in HCSP files that make use of the includes in the IDOC files.
■ Using dynamic server pages with Content Publisher can be a powerful tool for web publishing. You can create content using Word documents or HCSF pages, and then use Content Publisher to convert the documents to published HCSP files. You can also use the "include before" and the "include after" options in the SCP template to insert additional Idoc Script includes.
■ If you publish dynamic server pages with Content Publisher, use the prefix option for easy identification of your documents.
■ Use a consistent naming convention. For example, for "system" level includes, you could name your IDOC file system_std_page, and then name each include in that file with the prefix system_. This makes locating the includes easier.
■ You may want to create a content type for each type of dynamic server page (such as HCSF_templates or submitted_forms).
■ In accordance with good coding practices, you should always put comments in dynamic server pages to document your customizations.
Creating Dynamic Server Pages 4-9 Altering the Appearance and Navigation of Web Pages
4.2.3.2 HCSF Guidelines The following recommendations apply specifically to the development of HCSF pages:
■ When designing a form, consider how the template will be used: – Will this template change depending on the role of the user submitting the form? – Will the submitted content enter into a criteria workflow? – What default metadata values should be set? – Does the form contain ResultSets for multiple line entries?
■ To see the form parameters as they are passed from the web browser to the web server, filtered through Oracle WebCenter Content Server, and then passed back to the web browser, change the method attribute in the include code from POST to GET:
tag.4-18 Oracle WebCenter Content Developer's Guide for Content Server Creating an HCST Page
4.3 Creating an IDOC File with Custom Includes for Dynamic Server Pages Dynamic server pages can work together to modify Content Server behavior. Before you can create a dynamic server page, you need an IDOC file with custom includes for the page to reference.
To create an IDOC file with custom includes for dynamic server pages: 1. Create an IDOC file with a custom include, in the format that Example 4–25 shows.
Example 4–25 Custom Include <@dynamichtml HelloWorld@>
Hello World/ <@end@>
In the example, the first include is named HelloWorld, and the second include defines one line of HTML code. 2. Save the file with the .idoc extension; for example, helloworld.idoc. 3. Check in the IDOC file to Content Server with a Content ID that you can reference from another file, such as helloworld. The IDOC file is available to any HCS* pages that reference it.
4.4 Creating an HCST Page You can create an HCST dynamic server page by referencing an IDOC file in an HCST file.
To create an HCST page: 1. Create an HCST file that references an include in an IDOC file, like the HCST file that Example 4–26 shows.
Example 4–26 HCST File Referencing Custom Include
<$docLoadResourceIncludes("dDocName=helloworld&RevisionSelectionMethod=LatestReleased")$> You should see it: <$include HelloWorld$>In the example, the line after the
tag loads the helloworld.idoc file so that the includes in the IDOC file are available to this HCST page. The second line after the tag displays the code from the HelloWorld include from the helloworld.idoc file. Note the use of the standard Idoc Script tags, <$...$>. 2. Save the file with a .hcst extension; for example, helloworld.hcst. 3. Check in the HCST file to Content Server.Creating Dynamic Server Pages 4-19 Creating an HCSP Page
4.5 Creating an HCSP Page You can create an HCSP dynamic server page by referencing an IDOC file in an HCSP file.
To create an HCSP Page 1. Create an HCSP file that references an include in an IDOC file, like the HCSP file that Example 4–27 shows.
Example 4–27 HCSP File Referencing Custom Include
You should see it:
In the example, the line after the
tag loads the helloworld.idoc file so that the includes in the IDOC file are available to this HCSP page. The second line after the tag displays the code from the HelloWorld include from the helloworld.idoc file. Note the use of the HTML comment tags, . 2. Save the file with a .hcsp extension; for example, helloworld.hcsp. 3. Check in the HCSP file to Content Server.4.6 Creating an HCSF Page A typical HCSF page and its associated IDOC file are shown in Example 4–28. This example creates a form that users can fill out and submit to enter product descriptions as content items.
To create an HCSF page: 1. Create an HCSF file that references an IDOC file named form_std_page, as Example 4–28 shows.
Example 4–28 Product Description Form in HCSF File
4-20 Oracle WebCenter Content Developer's Guide for Content Server Creating an HCSF Page
SC-
In the example, the line after the html tag loads the IDOC file with the Content ID of form_std_page so that the includes in the IDOC file are available to this HCSF page. The meta tag is required for Content Publisher to acknowledge that this is a Content Server HTML form. The two includes after the meta tag, defined in the form_std_page IDOC file, generate the code at the beginning of the web page. The isFormFinished attribute of the idcformrules tag tells Content Server that the form is not finished, so the fields can be edited, and the form can be submitted. The content property does not have to be set for each tag; it defaults to html. The idcbegindata and idcenddata tags define the XML tagged area, which specifies rules and initial metadata values for the form. The text in each set of XML tags will populate the corresponding field on the form. The last include in the example, defined in the form_std_page IDOC file, generates the code at the end of the web page. 2. Save the file as product_form.hcsf. 3. Check in the HCSF file to Content Server. 4. Create an IDOC file with custom includes, as Example 4–29 shows.
Creating Dynamic Server Pages 4-21 Creating an HCSF Page
Example 4–29 IDOC File with Custom Includes
<@dynamichtml form_head_section@> <$defaultPageTitle="Product Description Form"$> $include std_html_head_declarations$> <@end@>
<@dynamichtml form_pre_xml_section@> <$if 0$>
<$endif$><$include body_def$> <@end@>
<@dynamichtml form_post_xml_section@>
<$include std_page_begin$> <$include std_header$>
<$formName="HTMLForm"$> <$include std_html_form_submit_start$>
<$if isHcsf$> <$endif$> "> |
<@end@>
In the example, the form_head_section include defines the page title and the code for the standard HTML head section (referencing the std_html_head_ declarations include in the std_page.htm resource file). The form_pre_xml_section include allows the page to be viewed statically and defines code for a standard Content Server web page (referencing the body_ def include in the std_page.htm resource file). The form_post_xml_section include defines the form fields. The std_page_ begin and std_header includes, which are defined in the std_page.htm resource file, define code for a standard Content Server web page. The two lines after these includes define the form name and the code for a standard HTML form (referencing the std_htm_form_submit_start include in the std_page.htm file).
Creating Dynamic Server Pages 4-23 Creating an HCSF Page
The conditional after the table tag determines if this is an editable form or a page that has already been submitted, based on the file name extension. If this is an editable page (isHcsf=1), the next conditional sets variables that create the fields as form fields and allow the fields to be edited. The line after the conditionals sets the width of the table cells for field captions to 150 pixels and sets the width of the table cells for input fields to 200 pixels. The eval function sets the maximum length of a text field to 250 characters. The fieldName tag defines the name, caption, and type of field. If fieldType is not defined, it defaults to Text. If this is a form that has already been submitted (isHcsp=1), the if isHcsp conditional sets a variable that makes the form field read-only. The std_display_field include, defined in the std_page.htm resource file, defines code that creates the form field. If this is an editable form (isHcsf=1), the if isHcsf conditional creates the Submit and Reset buttons. The line after the if isHcsf conditional generates the document title (dDocTitle) automatically. The std_page_end include, defined in the std_page.htm resource file, generates the code at the end of the web page. 5. Save the file as form_std_page.idoc. 6. Check in the IDOC file to Content Server with a Content ID of form_std_page. (This is the name that is referenced by the HCSF page.) 7. Search for the HCSF content item in Content Server. 8. Click the link to display the form to create an HCSF page in your web browser. The form should look like the sample in Figure 4–2.
Figure 4–2 Form to Create HCSF Page Displayed in a Web Browser
9. Fill out the form with some sample values, and click Submit. A content item is created as an HCSP page.
4-24 Oracle WebCenter Content Developer's Guide for Content Server Creating an HCSF Page
10. Search for the HCSP page in Content Server. 11. Click the link to display the HCSP page in your web browser. Figure 4–3 shows how the page should look.
Figure 4–3 HCSP Page
4.6.1 Common Code for Forms The following features are commonly used in HCSF pages and associated IDOC files.
■ Retrieving file information
■ Referencing a file extension
■ Defining form information
■ Defining form fields
■ Defining hidden fields
■ Submitting a form
4.6.1.1 Retrieving File Information Executing the service DOC_INFO_SIMPLE makes metadata from a specific file available to the page. Example 4–30 shows the Idoc Script to execute this service.
Example 4–30 Idoc Script to Retrieve Metadata <$dID=SourceID$> <$executeService("DOC_INFO_SIMPLE")$>
4.6.1.2 Referencing a File Extension You can reference a file extension in an if statement for a form to determine whether the form has been submitted (.hcsp file) or unsubmitted (.hcsf file), as Example 4–31 shows.
Example 4–31 Statement to Reference a File Extension <$if (strEquals(ref:dExtension,"hcsf"))$> <$isHcsf=1$> <$else$> <$isHcsp=1$> <$endif$>
For information about the ref: prefix, see Section 4.2.1.4, "Referencing Metadata."
Creating Dynamic Server Pages 4-25 Creating an HCSF Page
4.6.1.3 Defining Form Information Two lines of code define the form name and the standard include to start an HTML form, as Example 4–32 shows.
Example 4–32 Name and Standard Include for an HTML Form <$formName="HTMLForm"$> <$include std_html_form_submit_start$>
Example 4–33 shows typical code to define form properties.
Example 4–33 Form Properties
col1 | col2 |
val11 | val12 |
val21 | val22 |
15-4 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
15.2.2.2 Editing a Dynamic Data Table Resource Use the following procedure to edit an existing dynamicdata resource using the Component Wizard. 1. In the Component Wizard, open the component that contains the resource to edit. 2. Select the resource in the Custom Resource Definition list. 3. If the resource file contains multiple types of resources, click the Includes tab on the right. 4. You can modify any of the dynamicdata tables in the custom resource definition, add a dynamicdata table, or remove a dynamicdata table:
■ To edit an existing dynamicdata table, choose the table, click Edit, modify the code, and then click OK.
■ To add a dynamicdata table to the resource file, click Add.
■ To remove a dynamicdata table, choose the table, click Delete, and then click Yes to confirm.
15.2.2.3 Specifying Table Properties The properties-of-table parameter in a dynamicdata resource has this format: field1="value1" field2="value2" . . . The properties are like attributes defined in an XML node. Example 15–6 shows a typical table declaration.
Example 15–6 Table Properties in a Table Definition <@dynamicdata ExampleTable@> fieldA, fieldB 1, 2 3, 4 <@end@>
The quotation marks that enclose the values are optional for values that have no spaces, and you can use either single or double quotation marks. Also, the default property value is "1", so you can omit the assignment of a value for a table property if it is "1". Omitting the value is useful for Boolean properties such a notrim and mergeBlanks. Example 15–7 shows a declaration specifying a table that is not to trim its values:
Example 15–7 notrim Property <@dynamicdata ExampleTable@> fieldA, fieldB 1, 2 3, 4 <@end@>
In this example, the space would not be trimmed before the 2 or the 4. (Field names are always trimmed.)
Creating Custom Components 15-5 Creating Resources for a Component
You can specify the following kinds of table properties:
■ Merge properties
■ Assembly properties
■ Sort properties
■ Filter and dynamicdata table properties
15.2.2.3.1 Merge Properties The dynamicdata tables can be merged together automatically, which is part of the power of using these tables. If two dynamicdata tables have the same name but are in separate resource files, they will be automatically merged. You can use the mergeOtherData option to merge another existing table into the current existing table. Using this technique, you can build very complicated tables all merged from various other tables. This merging can improve the readability of the data and enable you to have some tables as subsets of other tables. You can specify one or more of the following merge properties in the properties-of-table parameter in a dynamicdata resource:
■ mergeKey -- The name of the field to do a merge on. This value applies to both this and the existing tables when doing an overlay unless mergeNewKey is set in which case it only applies to the existing table. If this value is not set, then the merge key defaults to the first column of this table. If the mergeKey refers to a column in the existing table that does not exist, then the result will be to append this table to the existing table unless the mergeRule is set to a value that dictates a different outcome. This property has merge scope.
■ mergeNewKey -- The name of the field in this table to use as a basis of comparison with the mergeKey column in the existing table. The default is to be the value of mergeKey. This property has merge scope.
■ mergeRule -- The rule to use when performing a merge of two tables. This property has three possible values, the default being merge. This property has merge scope.
■ merge -- Merge using the mergeKey (and if specified, the mergeNewKey) properties to perform the merge.
■ mergenoappend -- Perform the merge, but do not append any new rows. If there is no valid merge to perform (for example, if the mergeKey does not refer to a valid column in the existing table), then the result is to not perform a merge at all and the overlaying table has no effect on the final result.
■ replace -- Replace the existing table with this table. This option has the outcome of suppressing any prior table resource. This would be similar to not using the super include in a dynamichtml resource.
■ mergeBlanks -- By default, when values are merged from this table to the existing table, any values that are blank in this table do not replace the overlaid value in the existing table. This allows for targeted replacement of column values in the existing table by this table. But if this option is enabled (set without a value, or set with the value 1 or true), then blanks in this table replace non-blank values in the existing table. The default is 0 (or false) and the property has merge scope.
■ mergeAppendColumns -- This is a comma-separated list of columns in this table. For any column mentioned in the list, column values in this table for that column do not replace values in the existing table for that column but instead append or replace the new value (using comma as the separator) to the current value. Each of the subvalues in the comma-separated list is assumed to be of the form key=value with the =value part being optional. If this table has the same key in
15-6 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
its comma-separated list, then that key=value pair will replace the value in the existing table. For example, if the existing table has a column value of the form a=1,b=2 and this table has the value b=3,c=4, then the merged result will be a=1,b=3,c=4. This property has merge scope.
■ cssStyleMergeAppendFormat -- This is a boolean property and changes the separator values used for the mergeAppendColumns property. Normally the value of a field mentioned in the mergeAppendColumns is a comma separated list of name equal value pairs with the equal operator (=) being the assignment operator. If this property is enabled, then the lists separator becomes a semi-colon (;) and the name value pairs use a colon (:) for the assignment. So, instead of the field value looking like A=1,B=2, it would be A:1;B:2. The default is false, and the property has merge scope.
■ wildcard -- Normally when a merge is performed, the merge test is a case insensitive match comparison. When this option is enabled, the comparison is a standard Content Server wildcard match (* = 0 or more of any character, ? = any single character). Typically the option is used with mergeNewKey being set to a column different from mergeKey and in many cases the mergeKey does not even refer to a valid column in this table. The default is 0 (or false) and the property has merge scope.
■ mergeOtherData -- A comma separated list of other dynamicdata resources to merge into this one. Each of the other dynamicdata resources are fully merged before they are merged into this resource (if those other resources also are using mergeOtherData, then those merges are done first -- the code does have recursion detection). If the one of the referenced dynamicdata resources has multiple definitions in multiple files, then the merge keys used to merge into this resource are the ones defined that is highest in merge order (the one that is merged into last) for that other resource. If this dynamicdata resource (the one that has the mergeOtherData property on it) has multiple definitions in multiple files, the mergeOtherData parameter is produced by merging all the referenced named resources from all the resources in the merge stack. The default is null and has global scope.
15.2.2.3.2 Assembly Properties You can specify one or more of the following assembly properties in the properties-of-table parameter in a dynamicdata resource:
■ notrim -- This option only applies to the commatable format. Normally, all the values that are parsed for a table resource are trimmed. Setting this option prevents the values from being trimmed. It is presumed that this will be a rarely used option. The default is 0 (or false) and the property has local table scope.
■ indexedColumns -- This property lists columns that should be optimized for indexed lookup. Specialized Idoc Script functions exist to take advantage of the any of the indexed columns. When a lookup is done against an indexed column, the column name and a value must be specified. A filtered table consisting of just the rows whose values for the indexed column match (case insensitive) the value passed in to the function is returned. Note that these indexed column lookups are all computed at load and merge time and stored in a hash table for fast retrieval. The list of indexed column values for all the overlaying tables are merged together and the index computations are done after the merge is finished. This property has global table scope.
■ countColumn -- This value specifies a column in the fully merged table into which the values of a row count is put. The count starts at 1 and increments for each row in the table. Any existing values in that column of the merged table are replaced by the count value. This property can be used to create a quick unique key for each
Creating Custom Components 15-7 Creating Resources for a Component
row. The default value for this property is "count", so any table with the column name "count" that does not specify a different countColumn will automatically have counter values put into that column. If the value of this property does not match a column name in the final merged table, then it is ignored. If an overlaying table resource specifies a different countColumn from one specified in a prior table resource, then the overlaying one will be used. The property has global table scope.
■ defaultValues -- This property specifies a comma-separated list of default values to apply to the table. Each default value in this list is of the format fieldname:value. If the value is an empty string then the colon can be dropped. For example, the string field1:val1,field2:val2,field3 specifies the default value val1 for field1, val2 for field2, and the empty string for field3. A colon can be escaped with a star (*) and a star can be escaped by preceding it with a hash (#). If either a hash or a star follows a hash, then the hash can be escaped by adding another hash (see the similar rule for escaping commas given earlier). If a field specified in a default value construction does not exist in the final merged table, then it is added as a new field and given the default value for all rows in that table. If the field exists, then the default value will override any blank values in that table for that field. The definitions of defaultValues from the newer overlaying tables are collated with the active definition of the existing table. If there is a conflict in the definition of a particular default value, the newer overlaying table wins. The default for this property is null and it has global table scope.
■ derivedColumns -- This property specifies columns to be built up from values from other columns. The general syntax is a comma separated list of derived column definitions of the form derivedColumnDef1,derivedColumnDef2,... with each column definition being of the form fieldName:sourceField1+sourceField2+.... The fieldName refers to the name of the field to be created and the sourceFieldN refer to fields whose value will be sourced to create the derived column. The derived value will hold the values of the source fields separated by a double colon (::). If the derived column exists and has a non empty value, then it is not replaced. As with the defaultValues property, there is a second pass after the final table is assembled to determine whether any derived values still need to be filled in. The most typical usage for derived columns is to allow one dynamicdata resource to use multiple columns for specifying a merge criteria instead of just one. The derived column is used as the target of a merge and is defined in the definition of the existing table. The derived column definitions are inherited into the newer overlaying tables and if there is a conflict in definition of a particular derived column then the newer table's definition wins. Otherwise, the definitions of derived columns from the existing and new tables are collated together. The default value for this property is null and it has global table scope.
15.2.2.3.3 Sort Properties You can specify one or more of the following sort properties in the properties-of-table parameter in a dynamicdata resource:
■ sortColumn -- Specifies a column to sort on. If an overlaying table resource specifies a different sortColumn from one specified in a prior table resource, then the overlaying one will be used. If the name of the column does not match any column name in the final merged table, then no sort is performed. The default value is "sortOrder". So, creating a column with this name will cause the table to be automatically sorted. This property has global table scope
■ sortType -- Specifies what data type should be assumed for the column being sorted. This type applies to both the sortColumn and the sortParentColumn. The values can be "int", "string", or "date". The default value for this property is "int".
15-8 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
Rules for overlaying tables both specifying this property are identical to sortColumn. This property has global table scope.
■ sortOrder -- Specifies what sort order to use when performing a sort. The possible values are "asc" (for ascending) and "desc" (for descending). The default is "asc". Rules for overlaying tables both specifying this property are identical to sortColumn. This property has global table scope.
■ sortIsTree -- Specifies whether the sort is actually a tree sort with a sortParentColumn being sorted along with the sortChildColumn. The assumption is that the child to parent row mapping relationship is done by using the child row's value in the sortParentColumn to the find the parent row with a matching value in its sortChildColumn field. The sort is performed so that the top level parents are sorted first, then the children of each parent are sorted as a subgroup for each parent, and so on recursively for all the children of the children. The default value is 0 (or false). Rules for overlaying tables both specifying this property are identical to sortColumn. This property has global table scope.
■ sortParentColumn -- This value must be specified if the sortIsTree option is enabled. If the value of this property is missing or specifies an invalid column, then the sortIsTree option is ignored and has no effect. For more information about what it does, see the preceding description of the sortIsTree property. The default for the sortParentColumn property is null. Rules for overlaying tables both specifying this property are identical to sortColumn. This property has global scope.
■ sortChildColumn -- This value must be specified if the sortIsTree option is enabled. If the value of this property is missing or specifies an invalid column, then the sortIsTree option is ignored and has no effect. For more information about what it does, see the preceding description of the sortIsTree property. The default for the sortChildColumn property is null. Rules for overlaying tables both specifying this property are identical to sortColumn. This property has global scope.
■ sortNestLevelColumn -- This value is only available if the sortIsTree option is enabled. If the value of this property references an invalid column then it has no effect. If a valid column is specified, then that column will get an integer value that specifies its nest level (starting at 0). The nest level is defined as the number of immediate parents that have to be traversed before reaching a parent that itself has no parent. The default value for this property is "nestLevel" and it has global scope.
15.2.2.3.4 Filter and Include Properties You can specify one or more of the following filter and include properties in the properties-of-table parameter in a dynamicdata resource:
■ filterInclude -- This property specifies an include to be executed for each row of a table (or subtable if an indexed column is being used to select a subtable). This execution will happen when the table is loaded into the current user's context. Its main purpose is either to create a side effect or to determine if the row should be excluded. To prevent the row from being loaded into the final result set, you can set the variable ddSkipRow to 1 (<$ddSkipRow=1$>). During execution of this include, the table is made active, allowing for easy access and replacement of values in the table. The default value of this property is null, and it has global scope.
■ includeColumns -- This property specifies a comma-separated list of columns whose row values are the names of resource includes to be executed. After the resource includes are executed, the result is fed back into the result set to become
Creating Custom Components 15-9 Creating Resources for a Component
the new value for that column for that row. The timing and rules for execution are similar to filterInclude except that includeColumns cannot suppress the loading of a row. If a filter include is specified and there are active include columns, then during the looping of the temporary active result set, the include column values are executed first and then the filter include. If one of the specified include columns in not present in the final merged table, then it will have no effect. Empty values in an include column are ignored. The includeColumns attribute is commonly combined with the defaultValues attribute to create columns whose values are derived from other columns. The default value of this property is null, and it has global scope.
Note: Using includeColumns may not be as useful as it first appears. The resource includes are executed at the time the Idoc Script function is executed to load the table, but a component that customizes output may determine the value for the column only after further processing (after other tables are merged into this table, summaries of row statistics are calculated, and so on).
15.2.2.4 Using Dynamicdata Idoc Script Functions For dynamic data tables, you can use the following dynamicdata Idoc Script functions:
■ ddAppendIndexedColumnResultSet
■ ddAppendResultSet
■ ddApplyTableSortToResultSet
■ ddGetFieldList
■ ddIncludePreserveValues
■ ddLoadIndexedColumnResultSet
■ ddLoadResultSet
■ ddMergeIndexedColumnResultSet
■ ddMergeResultSet
■ ddMergeUsingIndexedKey
■ ddSetLocal
■ ddSetLocalByColumnsFromFirstRow
■ ddSetLocalByColumnsFromFirstRowIndexed
■ ddSetLocalEmpty
■ ddSetLocalEmptyByColumns
15.2.3 String Resources A string resource defines locale-sensitive text strings that are used in error messages and on Content Server web pages and applets. Strings are resolved by Content Server each time a web page is assembled, an applet is started, or an error message is displayed. A string is defined in an HTM file using the following format: <@stringID=Text string@>
15-10 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
A string is called from an HTM template file using the following Idoc Script format: <$lc("wwStringID")$>
Note: On Content Server web pages, you should use only the strings in the ww_strings.htm file.
Standard English strings are defined in the IdcHomeDir/resources/core/lang directory. Strings for other supported languages are provided by the Localization component. HTML includes, strings, and static tables can be present in the same HTM file. A string resource does not require merge rules. You must use HTML escape encoding to include the following special characters in a string value.
Escape Sequence Character &at; @
\&lf; line feed (ASCII 10) \&cr; carriage return (ASCII 13) \&tab; tab (ASCII 9) \&eatws; Eats white space until the next nonwhite space character. \< < (less than) \> > (greater than) \&sp; space (ASCII 32) \xx; ASCII character that a decimal number represents (nnn)
You can specify strings for multiple languages in the same resource file using the language identifier prefix, if the languages all have single-byte characters or all have multibyte characters. Example 15–8 shows prefixes for strings in several languages in a resource file.
Example 15–8 Multiple Languages in the Same Resource File <@myString=Thank you@> <@es.myString=Gracias@> <@fr.myString=Merci@> <@de.myString=Danke@>
Caution: Do not specify single-byte strings and multibyte strings in the same resource file. You should create separate resource files for single-byte and multibyte strings.
If you are specifying multibyte strings in your custom string resource, ensure that the character set specification on your HTML pages changes to the appropriate encoding. Resource files should have a correct http-equiv charset tag so that Content Server reads them correctly.
Creating Custom Components 15-11 Creating Resources for a Component
15.2.3.1 String Parameters Text strings can contain variable parameters, which are specified by placing the parameter argument inside curly braces (for example, {1}). When a string is localized, the arguments are passed along with the string ID and the ExecutionContext value that contains the locale information. The following table describes the syntax for parameterized strings.
Syntax Meaning Examples {{} Opening curly brace. (Note that only {{}Text in braces} the opening curly brace must be expressed as a literal.) {n} Substitute the nth argument. Content ID {1} not found {ni} Substitute the nth argument, formatted dID {1i} does not exist as an integer. {nx} Substitute the nth argument, formatted as an integer in hexadecimal. {nd} Substitute the nth argument, formatted The release date is {1d} as a date. {nD} Substitute the nth argument, formatted The release date is {1D} as a date. The argument should be ODBC-formatted. {nt} Substitute the nth argument, formatted The release date is {1t} as a date and time. {ne} Substitute the nth argument, formatted as elapsed time. {nT} Substitute the nth argument, formatted The release date is {1T} as a date and time. The argument should be ODBC-formatted. {nfm} Substitute the nth argument, formatted The distance is {1f3} miles. as a float with m decimal places. {nk} Substitute a localized string using the Unable to find {1k} revision nth argument as the string ID. of {2} {nm} Localize the nth argument as if it were Indexing internal error: {1m} a string-stack message. (For example, the argument could include concatenated text strings and localized string IDs.) {nl} Substitute the nth argument as a list. Add-ons: {1l} The argument must be a list with commas (,) and carets (^) as the separators. {nK} Takes a list of localization key names, Unsupported byte feature(s): separated by commas, and localizes {1K} each key into a list. {nM} Takes a list of message strings and {1q} component, version localizes each message into a list. {2q}, provides older versions of features than are currently enabled. {3M}
15-12 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
Syntax Meaning Examples {nq} If the nth argument is non-null and Content item {1q} was not nonzero in length, substitute the successfully checked in argument in quotation marks. Otherwise, substitute the string "syUndefined". {no} Performs ordinal substitution on the "I am {1o}." with the nth argument. For example, 1st, 2nd, argument 7 would localize 3rd, and so on. The argument must be into "I am 7th." an integer. {n?text} If the value of the nth argument is not {1} file{1?s} deleted 1, substitute the text.
{n?text1:text2} ■ If the value of the nth argument is There {1?are:is} currently {1} not 1, substitute text1. active search{1?es}.
■ If the value of the nth argument is 1, substitute text2. The (n?) function can be extended with as many substitution variables as required. The last variable in the list always corresponds to a value of 1.
{n?text1:text2:text3} ■ If the value of the nth argument is Contact {1?their:her:his} not 1 or 2, substitute text1. supervisor.
■ If the value of the nth argument is 2, substitute text2.
■ If the value of the nth argument is 1, substitute text3. The (n?) function can be extended with as many substitution variables as required. The last variable in the list always corresponds to a value of 1.
15.2.3.2 Editing a String Resource Use the following procedure to edit an existing string resource using the Component Wizard. 1. In the Component Wizard, open the component that contains the resource to edit. 2. Select the resource in the Custom Resource Definition list. 3. If the resource file contains multiple types of resources, click the Strings tab on the right. 4. Modify the strings in the Custom Strings list.
■ To edit an existing string, select the string, click Edit, modify the string text, and then click OK.
■ To add a string to the resource file, click Add.
■ To remove a string, select the string, click Delete, and then click Yes to confirm.
15.2.4 Dynamic Tables Dynamic table resources are defined in the HDA file format. For more information and an example of an HDA ResultSet table, see Section 9.1.3.1.1, "Elements in HDA Files."
Creating Custom Components 15-13 Creating Resources for a Component
15.2.4.1 Merge Rules for Dynamic Tables Merge rules are required for a dynamic table resource if data from the custom resource replaces data in an existing table. Merge rules are not required if data from the custom resource is to be placed in a new table.
15.2.4.2 Editing a Dynamic Table Resource Use the following procedure to edit an existing dynamic table resource using the Component Wizard. 1. In the Component Wizard, open the component that contains the resource to edit. 2. Select the resource file in the Custom Resource Definition list. 3. Click Launch Editor. 4. Modify the table in the text editor. 5. Save and close the resource file. Changes are reflected on the right of the Resource Definition tab.
15.2.5 Static Tables Static tables, HTML includes, and strings can be present in the same HTM file.
15.2.5.1 Merge Rules for Static Tables Merge rules are required for a static table resource if data from the custom resource replaces data in an existing table. Merge rules are not required if data from the custom resource is to be placed in a new table.
15.2.5.2 Editing a Static Table Resource Use this procedure to edit an existing static table resource with the Component Wizard. 1. In the Component Wizard, open the component that contains the resource to edit. 2. Select the resource file in the Custom Resource Definition list. 3. Click Launch Editor. 4. Modify the table in the text editor. 5. Save and close the resource file. Changes are reflected in the Resource Tables list.
15.2.6 Queries A query resource defines SQL queries, which are used to manage information in the Content Server database. Queries are used with service scripts to perform tasks such as adding to, deleting, and retrieving data from the database. The standard Content Server queries are defined in the QueryTable table in the IdcHomeDir/resources/core/tables/query.htm file. You can also find special-purpose queries in the indexer.htm and workflow.htm files that are stored in the IdcHomeDir/resources/core/tables directory. Merge rules are not required for a query resource.
15-14 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
A query resource is defined in an HTM file using a ResultSet table with three columns: name, queryStr, and parameters.
■ The name column defines the name for each query. To override an existing query, use the same name for your custom query. To add a new query, use a unique query name. When naming a new query, identify the type of query by starting the name with one of the following characters.
First Character Query Type D Delete I Insert Q Select U Update
■ The queryStr column defines the query expression. Query expressions are in standard SQL syntax. If there are any parameter values to pass to the database, their place is held with a question mark (?) as an escape character.
■ The parameters column defines the parameters that are passed to the query from a service. A request from a web browser calls a service, which in turn calls the query. It is the responsibility of the web browser to provide the values for the query parameters, which are standard HTTP parameters The browser can pass query parameters from the URL or from FORM elements in the web page. For example, the QdocInfo query requires the dID (revision ID) to be passed as a parameter, so the value is obtained from the service request URL.
15.2.6.1 Query Example The standard QdocInfo query, which Figure 15–1 shows, is defined in the IntradocDir/core/config/resources/query.htm file. This query obtains the metadata information to display on the DOC_INFO template page, which is the page displayed when a user clicks the Information icon on a search results page.
Figure 15–1 Standard QDocInfo Query
The parameter passed from the web browser URL is the dID, which is the unique identification number for the content item revision. The query expression selects the data that matches the dID for the primary revision from the Revisions, Documents, and DocMeta database tables, if the revision does not have the DELETED status. Example 15–9 shows the contents of a query.htm file.
Creating Custom Components 15-15 Creating Resources for a Component
Example 15–9 query.htm File
name | queryStr | parameters |
QdocInfo | SELECT Revisions.*, Documents.*, DocMeta.* FROM Revisions, Documents, DocMeta WHERE Revisions.dID=? AND Revisions.dID=Documents.dID AND DocMeta.dID = Documents.dID AND Revisions.dStatus<>'DELETED' AND Documents.dIsPrimary<>0 | dID int |
15.2.6.2 Editing a Query Resource Use the following procedure to edit a query resource using the Component Wizard. 1. In the Component Wizard, open the component that contains the resource to edit. 2. Select the resource in the Custom Resource Definition list. 3. If there are multiple tables in the resource, select the query table to edit from the Table Name list. 4. Modify the selected query table.
■ To add a query to the table, click Add.
■ To edit an existing query, select the query, click Edit, modify the query expression or parameters or both, and then click OK.
■ To remove a query, select the query, click Delete, and then click Yes to confirm.
15.2.7 Services A service resource defines a function or procedure that is performed by Content Server. A service call can be performed from either the client or server side, so services can be performed on behalf of the web browser client or within the system itself. For example:
■ Client-side request: When you click a Search link on a Content Server web page, the standard search page is delivered to your web browser by the GET_DOC_ PAGE service, using the following URL segment: IdcService=GET_DOC_PAGE&Action=GetTemplatePage&Page=STANDARD_QUERY_PAGE
■ Server-side request: You can use the START_SEARCH_INDEX service to update or rebuild the search index automatically in a background thread.
15-16 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
Services are the only way a client can communicate with the server or access the database. Any program or HTML page can use services to request information from Content Server or perform a specified function. The standard Content Server services are defined in the StandardServices table in the IdcHomeDir/resources/core/tables/std_services.htm file. You can also find special-purpose services in the workflow.htm file in the IdcHomeDir/resources/core/tables directory. For more information about standard and special-purpose services that Content Server provides, see the Oracle WebCenter Content Services Reference Guide. Services depend on other resource definitions to perform their functions. Any service that returns HTML requires a template to be specified. A common exception is the PING_SERVER service, which does not return a page to the browser. Most services use a query. A common exception is the SEARCH service, which sends a request directly to the search collection. Merge rules are not required for a service resource. Figure 15–2 shows an example of a service definition.
Figure 15–2 Service Definition Example
A service resource is defined in an HTM file using a ResultSet table with the following three columns:
■ The Name column defines the name for each service. For client-side service requests, this is the name called in the URL. To override an existing service, use the same name for your custom service. To add a new service, use a unique service name.
■ The Attributes column defines the following attributes for each service.
Example (attributes from the DELETE_ Attribute Description DOC service) Service class Determines, in part, what actions can be performed DocService 4 MSG_PAGE null documents by the service. !csUnableToDeleteItem(dDocName) Access level Assigns a user access level to the service. This DocService 4 MSG_PAGE null documents number is the sum of the following possible bit !csUnableToDeleteItem(dDocName) flags: READ_PRIVILEGE = 1 WRITE_PRIVILEGE = 2 DELETE_PRIVILEGE = 4 ADMIN_PRIVILEGE = 8 GLOBAL_PRIVILEGE = 16 SCRIPTABLE_SERVICE=32
Creating Custom Components 15-17 Creating Resources for a Component
Example (attributes from the DELETE_ Attribute Description DOC service) Template page Specifies the template that presents the results of the DocService 4 MSG_PAGE null documents service. If the results of the service do not require !csUnableToDeleteItem(dDocName) presentation, this attribute is null. Service type If the service is to be executed inside another service, DocService 4 MSG_PAGE null documents this attribute is SubService; otherwise, this !csUnableToDeleteItem(dDocName) attribute is null. Subjects Specifies the subjects (subsystems) to be notified by DocService 4 MSG_PAGE null documents notified the service. If no subjects are notified, this attribute !csUnableToDeleteItem(dDocName) is null. Error message Defines the error message returned by the service if DocService 4 MSG_PAGE null documents no action error message overrides it. This can be !csUnableToDeleteItem(dDocName) either an actual text string or a reference to a locale-sensitive string. For more information, see Section 1.5.5, "Localized String Resolution."
■ The Actions column defines the actions for each service. An action is an operation to be performed as part of a service script. The action can execute an SQL statement, perform a query, run code, cache the results of a query, or load an option list. Each service includes one or more actions, which specify what happens upon execution. The
tags in the Actions column are for browser display purposes only, so they are optional. However, the tag must occur immediately after the actions, without a line break in between. An action is defined using the following format: type:name:parameters:control mask:error message
Example (first action from the Section Description DELETE_DOC service) type Defines the type of action: 5:QdocInfo:DOC_ INFO:6:!csUnableToDeleteItem(dDocNa QUERY_TYPE = 1 me)!csRevisionNoLongerExists EXECUTE_TYPE = 2 CODE_TYPE = 3 OPTION_TYPE = 4 CACHE_RESULT_TYPE = 5 name Specifies the name of the action. 5:QdocInfo:DOC_ INFO:6:!csUnableToDeleteItem(dDocNa me)!csRevisionNoLongerExist parameters Specifies parameters required by the action. If no 5:QdocInfo:DOC_ parameters are required, leave this part empty (two INFO:6:!csUnableToDeleteItem(dDocNa colons in a row). me)!csRevisionNoLongerExist
15-18 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
Example (first action from the Section Description DELETE_DOC service) control Controls the results of queries to the database. This 5:QdocInfo:DOC_ mask number is the sum of the following possible bit flags: INFO:6:!csUnableToDeleteItem(dDocNa No control mask = 0 me)!csRevisionNoLongerExist CONTROL_IGNORE_ERROR = 1 CONTROL_MUST_EXIST = 2 CONTROL_BEGIN_TRAN = 4 CONTROL_COMMIT_TRAN = 8 CONTROL_MUST_NOT_EXIST = 16 Error Defines the error message to be displayed by this action. 5:QdocInfo:DOC_ message This error message overrides the error message provided INFO:6:!csUnableToDeleteItem(dDocNa as an attribute of the service. This can be either an actual me)!csRevisionNoLongerExist text string or a reference to a locale-sensitive string. For more information, see Section 1.5.5, "Localized String Resolution."
15.2.7.1 Service Example The DOC_INFO service provides a good example of how services, queries, and templates work together. Figure 15–3 shows the actions that the DOC_INFO service can take.
Figure 15–3 DOC_INFO Service
Example 15–10 shows the definition of the DOC_INFO service in the IntradocDir/config/resources/std_services.htm file.
Example 15–10 DOC_INFO Service Definition in std_services.htm File
Name | Attributes | Actions |
DOC_INFO | DocSgervice 33 DOC_INFO null null !csUnableToGetRevInfo | 5:QdocInfo:DOC_INFO:2:!csItemNoLongerExists2 3:mapNamedResultSetValues:DOC_ INFO,dStatus,dStatus,dDocTitle,dDocTitle:0:null 3:checkSecurity:DOC_INFO:0:!csUnableToGetRevInfo2(dDocName) 3:getDocFormats:QdocFormats:0:null 3:getURLAbsolute::0:null 3:getUserMailAddress:dDocAuthor,AuthorAddress:0:null 3:getUserMailAddress:dCheckoutUser,CheckoutUserAddress:0:null 3:getWorkflowInfo:WF_INFO:0:null 3:getDocSubscriptionInfo:QisSubscribed:0:null 5:QrevHistory:REVISION_HISTORY:0:!csUnableToGetRevHistory(dDocName) |
15.2.7.1.1 Attributes The following table describes the attributes of the preceding DOC_ INFO service.
Attribute Value Description Service DocService This service is providing information about a class content item. Access level 33 32 = This service can be executed with the executeService Idoc Script function. 1 = The user requesting the service must have Read privilege for the content item. Template DOC_INFO This service uses the DOC_INFO template (doc_ page info.htm file). The results from the actions are merged with this template and presented to the user. Service type null This service is not a subservice. Subjects null No subjects are affected by this service. notified
Error !csUnableToGetRevI If this service fails on an English Content Server message nfo system, it returns this error message string: Unable to retrieve information about the revision
15-20 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
15.2.7.1.2 Actions The DOC_INFO service executes the following actions:
■ 5:QdocInfo:DOC_INFO:2:!csItemNoLongerExists2
Action Definition Description 5 Cached query action that retrieves information from the database using a query. QDocInfo This action retrieves content item information using the QDocInfo query in the query.htm file. DOC_INFO The result of the query is assigned to the parameter DOC_INFO and stored for later use. 2 The CONTROL_MUST_EXIST control mask specifies that either the query must return a record, or the action fails. !csItemNoLongerExist If this action fails on an English Content Server system, it returns s2 this error message string: This content item no longer exists
■ 3:mapNamedResultSetValues:DOC_ INFO,dStatus,dStatus,dDocTitle,dDocTitle:0:null
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. mapNamedResultSetValues This action retrieves the values of dStatus and dDocTitle from the first row of the DOC_INFO ResultSet and stores them in the local data. (This increases speed and ensures that the correct values are used.) DOC_ Parameters required for the INFO,dStatus,dStatus,dDocTitle,dDocT mapNamedResultSetValues action. itle
0 No control mask is specified. null No error message is specified.
■ 3:checkSecurity:DOC_INFO:0:!csUnableToGetRevInfo2(dDocName)
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. checkSecurity This action retrieves the data assigned to the DOC_ INFO parameter and evaluates the assigned security level to verify that the user is authorized to perform this action. DOC_INFO Parameter that contains the security information to be evaluated by the checkSecurity action. 0 No control mask is specified. !csUnableToGetRevInfo2(dDocN If this action fails on an English Content Server ame) system, it returns this error message string: Unable to retrieve information for ''{dDocName}."
Creating Custom Components 15-21 Creating Resources for a Component
■ 3:getDocFormats:QdocFormats:0:null
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. getDocFormats This action retrieves the file formats for the content item using the QdocFormats query in the query.htm file. A comma-delimited list of the file formats is stored in the local data as dDocFormats. QdocFormats Specifies the query used to retrieve the file formats. 0 No control mask is specified. null No error message is specified.
■ 3:getURLAbsolute::0:null
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. getURLAbsolute This action resolves the URL of the content item and stores it in the local data as DocUrl. blank This action takes no parameters. 0 No control mask is specified. null No error message is specified.
■ 3:getUserMailAddress:dDocAuthor,AuthorAddress:0:null
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. getUserMailAddress This action resolves the e-mail address of the content item author. dDocAuthor,AuthorAddress This action passes dDocAuthor and AuthorAddress as parameters. 0 No control mask is specified. null No error message is specified.
■ 3:getUserMailAddress:dCheckoutUser,CheckoutUserAddress:0:null
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. getUserMailAddress This action resolves the e-mail address of the user who has the content item checked out. dCheckoutUser,CheckoutUserAddress This action passes dCheckoutUser and CheckoutUserAddress as parameters. 0 No control mask is specified. null No error message is specified.
15-22 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
■ 3:getWorkflowInfo:WF_INFO:0:null
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. getWorkflowInfo This action evaluates whether the content item is part of a workflow. If the WF_INFO ResultSet exists, then workflow information is merged into the DOC_INFO template. WF_INFO This action passes WF_INFO as a parameter. 0 No control mask is specified. null No error message is specified.
■ 3:getDocSubscriptionInfo:QisSubscribed:0:null
Action Definition Description 3 Java method action specifying a module that is a part of the Java class implementing the service. getDocSubscriptionInfo This action evaluates if the current user has subscribed to the content item:
■ If the user is subscribed, an Unsubscribe button is displayed.
■ If the user is not subscribed, a Subscribe button is displayed. QisSubscribed Specifies the query used to retrieve the subscription information. 0 No control mask is specified. null No error message is specified.
■ 5:QrevHistory:REVISION_ HISTORY:0:!csUnableToGetRevHistory(dDocName)
Action Definition Description 5 Cached query action that retrieves information from the database using a query. QrevHistory This action retrieves revision history information using the QrevHistory query in the query.htm file. REVISION_HISTORY The result the query is assigned to the parameter REVISION_HISTORY. The DOC_INFO template uses this parameter in a loop to present information about each revision. 0 No control mask is specified. !csUnableToGetRevHistory(dDoc If this action fails on an English Content Server system, it Name) returns the error message string: Unable to retrieve revision history for ''{dDocName}.''
Creating Custom Components 15-23 Creating Resources for a Component
15.2.7.2 Editing a Service Resource Use the following procedure to edit a service resource using the Component Wizard: 1. In the Component Wizard, open the component that contains the resource to edit. 2. Select the resource in the Custom Resource Definition list. 3. If there are multiple tables in the resource, select the service table to edit from the Table Name list. 4. Modify the selected service table.
■ To add a service to the table, click Add.
■ To edit an existing service, select the service, click Edit, modify the service attributes or actions or both, and then click OK.
■ To remove a service, select the service, click Delete, and then click Yes to confirm.
15.2.8 Templates A template resource defines the names, types, and locations of custom template files to be loaded for the component. The actual template pages are separate.htm files that are referenced in the template resource file. Template HTM files contain the code that Content Server uses to assemble web pages. HTML markup in a template file defines the basic layout of the page, while Idoc Script in a template file generates additional HTML code for the web page at the time of the page request. Because HTM template files contain a large amount of script that is not resolved by Content Server until the final page is assembled, these files are not viewable web pages. The template type of HTM file is used to define the following component files:
■ Template pages: Standard template pages are located in the IdcHomeDir/resources/core/templates directory.
■ Report pages: Standard report pages are located in the IdcHomeDir/resources/core/reports directory. A template resource (templates.hda) is defined in the HDA file format. The standard templates are defined in the IdcHomeDir/resources/core/templates/templates.hda file. For more information and an example of an HDA ResultSet table, see Section 9.1.3.1.1, "Elements in HDA Files." Merge rules are required for merging the new template definition into the IntradocTemplates table or SearchResultTemplates table. Typically, the merge is on the name column. Example 15–11 shows a MergeRules ResultSet for a template.
15-24 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
Example 15–11 MergeRules ResultSet @ResultSet MergeRules 4 fromTable toTable column loadOrder MultiCheckinTemplates IntradocTemplates name 1 @end
The standard templates.hda file defines three ResultSet tables:
■ The IntradocTemplates ResultSet table defines the template pages for all Content Server web pages except search results pages. This table consists of five columns: – The name column defines the name for each template page. This name is how the template is referenced in the Content Server CGI URLs and in code. – The class column defines the general category of the template. The most common class type is Document. – The formtype column defines the specific type of functionality the page is intended to achieve. The formtype is typically the same as the name of the form, except in lowercase characters. – The filename column defines the path and file name of the template file. The location can be an absolute path or can be relative to the template resource file when the template page is in the same directory as the template resource file. – The description column defines a description of the template.
■ The VerifyTemplates ResultSet table is no longer used by Content Server, but this table remains in the templates.hda file as legacy code for reverse compatibility.
■ The SearchResultTemplates table defines the template pages for search results pages. Template pages define how query results are displayed on the search results pages in the Library. Query result pages are a special type of search results page. This table consists of six columns: – The name column defines the name for each template page. This name is how the template is referenced in the Content Server CGI URLs, in code, and in the Web Layout Editor utility.
Note: The StandardResults template (search_results.htm file) is typically used as the global template for standard search results pages and the query results pages in the Library. You can create a new template or change the "flexdata" of the StandardResults template through the Web Layout Editor, but these changes are saved in a separate file (IntradocDir/data/results/custom_ results.hda) rather than in the SearchResultTemplates table in the templates.hda file.
– The formtype column defines the specific type of functionality the page is intended to achieve. ResultsPage is the only form type currently supported for search results pages.
Creating Custom Components 15-25 Creating Resources for a Component
– The filename column defines the path and file name of the template file. The location can be an absolute path or can be relative to the template resource file when the template page is in the same directory as the template resource file. – The outfilename column is for future use; the value is always null. – The flexdata column defines the metadata to be displayed for each row on the search results page. The format of text in the flexdata column follows: Text1 "text 1 contents"%
In the format, the Text1 value appears on the first line in each search results row, and the Text2 value appears on the second line.
Example 15–12 Custom Template Resource File @Properties LocalData blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM blFieldTypes= @end @ResultSet MultiCheckinTemplates 5 name class formtype filename description DOC_MANAGEMENT_LINKS DocManagement DocManagementLinks multicheckin_doc_man.htm Page containing links to various document management functions @end @ResultSet MultiCheckin_2 6 name formtype filename outfilename flexdata description StandardResults SearchResultsPage MultiCheckin_search_results.htm null Text2 <$dDocTitle$> <$dInDate$>%Text1 <$dDocName$>% apStandardResultsDesc @end
15-26 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
15.2.8.1 Template and Report Pages Template pages and report pages are also called presentation pages, because Content Server uses them to assemble, format, and present the results of a web page request. The standard template pages are located in the IdcHomeDir/resources/core/templates directory. The standard report pages are located in the IdcHomeDir/resource/core/reports directory.
15.2.8.1.1 Template Page Example The template file for the standard Content Management page is doc_man.htm. Example 15–13 shows the contents of this file.
Example 15–13 The doc_man.htm File <$include std_doctype_html_decl$>
<$defaultPageTitle=lc("wwContentMgmt")$> <$include std_html_head_declarations$><$include body_def$>
<$include std_page_begin$>
<$include std_header$>
<$include std_page_end$>
In the example, the std_doctype_html_decl include references the standard Content Server document type. The
element references the page title, and the code for the head section is built using the std_html_head_declarations include code from the std_page.htm resource file. Other elements of the page definition follow: 1. Page elements common to most Content Server web pages are built using the body_def, std_page_begin, and std_header include code from the std_ page.htm resource file. 2. The links on the Content Management page are built using include code from the std_page.htm resource file. 3. The<$if PageParent$> <$strTrimWs(inc("open_folder_image"))$> <$endif$> | <$PageTitle$> |
<$if IsSavedQuery$>
<$lc("wwReportCreated")$> <$ReportCreationDate$> |
15-28 Oracle WebCenter Content Developer's Guide for Content Server Creating Resources for a Component
<$HeaderText$> |
> <$lc("wwDocumentTypes")$> | ||||||||
<$include std_page_nav_bar$> | ||||||||
|
Creating Custom Components 15-29 Creating Resources for a Component
<$include std_page_end$>
In the example, the std_doctype_html_decl include references the standard Content Server document type. The
element in the example references the page title and metadata, and the code for the head section is built using the std_ html_head_declarations include code from the std_page.htm resource file. Other elements of the page definition follow: 1. Page elements common to most Content Server web pages are built using the body_def, std_page_begin, and std_header include code from the std_ page.htm resource file. 2. The Directory Title section in the example displays the open folder image, links it to the parent page, and displays the page title. 3. The Parameters for historical reports section displays the original query date for a historical report. 4. The Directory Header section displays the report description. 5. The Doc types report section displays the table title. 6. The Navigation Bar section displays the page navigation bar if a historical report requires more than one page. 7. In the nextContent ID | Title | Type | Release Date | Comments | ||||
<%=strDocName%> | <%=strDocTitle%> | <%=strDocType%> | <%=strInDate%> | <%=strComments%> |
<%
DisplayBackButton() ‘------Function GetXmlNodeValue(objXmlRowNode, strNodeName) ‘------Dim objXmlNode, objXmlNodeValue
Set objXmlNode = objXmlRowNode.selectSingleNode("@" & strNodeName) If (objXmlNode Is Nothing) Then Set objXmlNode = objXmlRowNode.selectSingleNode("idc:field[@name=’" & strNodeName & "‘]") End If
If (Not (objXmlNode Is Nothing)) Then GetXmlNodeValue = objXmlNode.Text End If ‘------End Function ‘------
‘------Sub DisplayBackButton() ‘------%>
<% ‘------End Sub ‘------%>Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25-43 Generating WSDL Files to Access WebCenter Content
25.5 Generating WSDL Files to Access WebCenter Content You can generate WSDL files for interfacing with WebCenter Content services.
25.5.1 Understanding WSDL Files WSDL files provide the ability to pass data that can be understood by Content Server services, which enables access to the content and content management functions within WebCenter Content. The WSDL files provided with the component are stored in the IntradocDir/weblayout/groups/secure/wsdl/custom directory. These WSDL files are provided with the WSDL Generator component:
■ CheckIn.wsdl
■ DocInfo.wsdl
■ GetFile.wsdl
■ MetaData.wsdl
■ PortalInfo.wsdl
■ Search.wsdl
■ Subscription.wsdl
■ Workflow.wsdl Additional WSDL files can be generated using the Soap Custom WSDL administrative pages. See Section 25.5.2, "Sample WSDL File," for additional information.
25.5.1.1 WSDL File Structure WSDL files are formally structured with elements that contain a description of the data to be passed to the web service. This structure enables both the sending application and the receiving application to interpret the data being exchanged. WSDL elements contain a description of the operation to perform on the data and a binding to a protocol or transport. This permits the receiving application to both process the data and interpret how to respond or return data. Additional subelements may be contained within each WSDL element. The WSDL file structure includes these major elements:
■ Data Types: Generally in the form of XML schema to be used in the messages.
■ Message: The definition of the data in the form of a message either as a complete document or as arguments to be mapped to a method invocation.
■ Port Type: A set of operations mapped to an address. This defines a collection of operations for a binding.
■ Binding: The actual protocol and data formats for the operations and messages defined for a particular port type.
■ Service and Port: The service maps the binding to the port and the port is the combination of a binding and the network address for the communication exchange.
Note: The following code fragments are from the DocInfo.wsdl file provided with the WSDL Generator component. For a complete WSDL file, see Section 25.5.2, "Sample WSDL File."
25-44 Oracle WebCenter Content Developer's Guide for Content Server Generating WSDL Files to Access WebCenter Content
25.5.1.1.1 Data Type The Data Type
25.5.1.1.2 Message The Message
25.5.1.1.3 Port Type The Port Type
Note: While a port type is a collection of operations (like classes in Java), WSDL is an independent data abstraction that provides more functionality than simply mapping to .NET, EJB, or CORBA objects.
25.5.1.1.4 Binding The binding
Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25-45 Generating WSDL Files to Access WebCenter Content
25.5.1.1.5 Service and Port The service
Tip: You can add &IsSoap=1 to the URL of a Content Server browser window to view the underlying SOAP code for that page.
25.5.2 Sample WSDL File This sample code presents the complete DocInfo.wsdl file. This file and the CheckIn.wsdl, GetFile.wsdl, and Search.wsdl files are found in the IntradocDir/weblayout/groups/secure/wsdl/custom directory for the Content Server instance.
25-46 Oracle WebCenter Content Developer's Guide for Content Server Generating WSDL Files to Access WebCenter Content
Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25-47 Generating WSDL Files to Access WebCenter Content
25-48 Oracle WebCenter Content Developer's Guide for Content Server Generating WSDL Files to Access WebCenter Content
25.5.3 Generating WSDL Files When the WSDL Generator component is installed and enabled during Oracle WebCenter Content installation, several folders and related HDA files are generated that expose several services as web services. Two directories are created in the IntradocDir/data/soap directory. The generic directory contains a generic.hda file, and the custom directory contains a wsdl_custom.hda file. Administrators can customize or add WSDL files using the Soap Wsdl administration pages. These pages are accessed by clicking the Soap WSDL link from the Administration section of the Admin Applet page.
Note: The WSDL Generator component must be enabled to generate WSDL files.
For step-by-step instructions on creating and editing a custom WSDL using the Soap Custom Wsdl administration pages, see Section 25.6, "Customizing WSDL Files."
Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25-49 Customizing WSDL Files
25.5.4 Generating Proxy Class from WSDL Files Using the WSDL files, developers may choose to create proxy classes to plug into a development tool. A number of software products and tool kits are available for converting WSDL files to programming class files in languages such as Java, Visual Basic, and C#. For example, Apache AXIS provides a SOAP to Java toolkit, and Microsoft .NET Development Environment provides functionality to convert WSDL files to C#. If you are using Microsoft .NET, you can use utilitywsdl.exe to generate the proxy classes: wsdl /l:CS DocInfo.wsdl
This utility generates the file DocInfoService.cs (C# class) which contains the class DocInfoService and the function DocInfo with the parameters specified. The return value is the DocInfoSet class, which is all the response parameters specified, along with ErrorCode and ErrorMessage values. If the ErrorCode is less than zero, an error has occurred in the service call, and you can see the specifics of it in the value ErrorMessage.
Note: In addition to the WSDL files provided with the WSDL Generator component, you can generate WSDL files for any WebCenter Content service. For more information, see Section 25.5.3, "Generating WSDL Files."
25.6 Customizing WSDL Files The Soap Custom Wsdl administration pages provide an administrator with the ability to edit and customize WSDL files. This chapter provides an administrative tutorial that gives step-by-step instructions on creating and editing a custom WSDL. The WSDL Generator component must be enabled to generate WSDL files. In addition to the WSDL files provided with the WSDL Generator component, you can generate additional WSDL files for any WebCenter Content service. See Section 25.5.3, "Generating WSDL Files," for additional information. For a list of available services and the required parameters, see the Oracle WebCenter Content Services Reference Guide.
To create and edit a custom WSDL file with the Soap Custom WSDL administration pages: 1. In a web browser, log in to Oracle WebCenter Content Server as an administrator. 2. From the Administration tray or menu, choose Soap Wsdls. This option displays the Wsdl List page, which Figure 25–3 shows.
25-50 Oracle WebCenter Content Developer's Guide for Content Server Customizing WSDL Files
Figure 25–3 Wsdl List Page
3. From the Actions menu, choose Data Lists. This option displays the Data Lists page, which Figure 25–4 shows.
Figure 25–4 Data Lists Page
Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25-51 Customizing WSDL Files
Note: System-specific WSDLs cannot be deleted. You can, however, edit the WSDL and enable or disable the complex type elements for that WSDL.
Data Lists are global lists of data that can be used with complex types, service parameters, or other Data Lists. When a Data List is specified as a parameter or a subtype of a complex type, all the subtypes of the Data List will appear as data types. Data Lists are defined once but can be referenced multiple times with different WSDLs and services. All the Data Lists have a prefix of "d:" in the data type list. 4. Select Add Data List from the Actions menu. The Add Data List page is displayed. 5. Enter the following information: Name: UserMetaFields Description: User Metadata Fields 6. Click Add. 7. In the Data List Elements Name column, enter the following names for user metadata fields:
■ dName
■ dFullName
■ dPassword
■ dEmail
■ dUserAuthType For each name, choose field:string from the menu in the Type column, and make sure Enabled is selected, as Figure 25–5 shows.
Figure 25–5 Data List Elements
8. Click Update. You are returned to the updated Data Lists page. Note that UserMetaFields now appears at the bottom of the list. 9. Select Wsdl List from the Actions menu. The Wsdl List page is displayed again, as Figure 25–6 shows.
25-52 Oracle WebCenter Content Developer's Guide for Content Server Customizing WSDL Files
Figure 25–6 Wsdl List Page Redisplayed
10. Select Add Wsdl from the Actions menu. The Add Wsdl page is displayed. 11. Enter the following information: Name: UserInfo Description: User Services 12. Click Add. The Wsdl Information page is displayed, as Figure 25–7 shows.
Figure 25–7 Wsdl Information Page
13. Select Add Complex Type from the Actions menu. The Add Complex Type page is displayed.
Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25-53 Customizing WSDL Files
Note: Complex types contain other data types as subtypes. After these are created, any service in the WSDL can use these complex types as parameters.
14. Enter the following Complex Type information: Name: UserAttribInfo Type: select resultset from the menu 15. Click Add. The Wsdl Information page is displayed again, as Figure 25–8 shows.
Figure 25–8 Wsdl Information Page Redisplayed
16. Select Edit from the UserAttribInfo line. The Complex Type Information/Complex Type Elements page is displayed. 17. Enter the following Complex Type Elements, and select the Type value for each one from the menu.
Name Type Idc Name dUserName field:string AttributeInfo field:string
18. Click Update in the Complex Type Elements section. You are returned to the updated Wsdl Information page. Note that User AttribInfo now appears as a complex type. 19. Select Add Service from the Actions menu. The Add Service page is displayed.
25-54 Oracle WebCenter Content Developer's Guide for Content Server Customizing WSDL Files
20. Enter the following information: Name: AddUser IdcService: ADD_USER 21. Click Add. The Wsdl Information page is displayed. 22. Select Edit from the AddUser Service line. This option displays the Service Information page, which Figure 25–9 shows.
Figure 25–9 Service Information Page
Note: When you create a WSDL, you create services that correspond to the IdcServices feature of Content Server. You also specify the request and response parameters that you want the service to pass and receive from the Web Service call.
23. Select Update Request Parameters from the Actions menu. The Request Parameters page is displayed. 24. Enter the following information, selecting the Type from the menu.
Name Type Idc Name DataList d:UserMetaFields CustomUserData propertylist:CustomUserMeta
25. Click Update. You are returned to the updated Service Information page. Note that DataList and CustomUserData now appear in the Request Parameters section. 26. Click Update. You are returned to the updated Wsdl Information page, showing the service that you just added. 27. Click Update again.
Configuring Web Services with WSDL, SOAP, and the WSDL Generator 25-55 Customizing WSDL Files
You are returned to the updated Wsdl List page. UserInfo appears at the bottom of the list. 28. Select Generate Wsdls from the Actions menu. A confirmation message displays after the Wsdls are generated successfully. 29. Click Back. You are returned to the Wsdl List page. 30. Click the UserInfo link in the Name column. The source code for the generated Wsdl file is displayed (a portion is shown in Example 25–12).
Example 25–12 Partial Source Code, Wsdl File -
31. Click the browser Back button. You are returned to the Soap Custom Wsdl page.
Tip: You can right click View and save the WSDL file to your desktop (for use with .NET, and so on). However, be sure to save the file with a .wsdl file extension rather than the default .xml file extension.
25-56 Oracle WebCenter Content Developer's Guide for Content Server 26
26Customizing the DesktopTag Component
This chapter describes how to customize the DesktopTag component of Oracle WebCenter Content Server to specify properties for checked out versions of Microsoft Word, Excel, and PowerPoint files. This chapter includes the following sections:
■ Section 26.1, "About the DesktopTag Component"
■ Section 26.2, "Enabling the DesktopTag and OracleCleanContent Components"
■ Section 26.3, "Checking Out and Checking In Content Items with DesktopTag"
■ Section 26.4, "Adding Properties to Checked-Out Content Items"
■ Section 26.5, "Configuring the DesktopTag Component"
26.1 About the DesktopTag Component DesktopTag is a Content Server component that manages custom properties in files created using the default formats of Microsoft Office applications (2002 or later versions). The component adds custom properties to Word documents (DOC, DOCX, and DOT files), Excel spreadsheets (XLS, XLSX, and XLT files), and PowerPoint presentations (PPT and PPTX files) when they are checked out of Content Server, and removes this information when they are checked in again. The properties to be added to the Microsoft Office files are specified in the DesktopTag configuration file. For more information, see Section 26.5, "Configuring the DesktopTag Component." The custom properties provide information about where a content item resides in Content Server so that the file can be checked in to the right location, with the right content management parameters, and so on. This is particularly useful if the content item is processed outside of Content Server after check-out; for example, in an external workflow (that is, one that is not managed by Content Server). Also, the information can be exposed to users; for example, in the task area of Microsoft Office applications. DesktopTag uses the Oracle Clean Content technology to add custom properties to and remove them from Microsoft Office files.
Customizing the DesktopTag Component 26-1 Enabling the DesktopTag and OracleCleanContent Components
26.2 Enabling the DesktopTag and OracleCleanContent Components The DesktopTag component is included with Content Server 11gR1. It must be enabled on Content Server because it is not enabled by default. The DesktopTag component requires that the OracleCleanContent component is enabled as well. The OracleCleanContent component is enabled with typical Content Server installations. You can enable components using Component Manager, which is launched from the Content Admin Server page. For more information about enabling components, see "Enabling and Disabling a Component" in the Oracle WebCenter Content System Administrator's Guide for Content Server. DesktopTag can add custom properties to the following Microsoft Office applications:
■ Microsoft Word 2002 (XP) and later versions
■ Microsoft Excel 2002 (XP) and later versions
■ Microsoft PowerPoint 2002 (XP) and later versions
26.3 Checking Out and Checking In Content Items with DesktopTag The DesktopTag component modifies the check-out (file get) and check-in operations for Content Server.
26.3.1 File Get Operation The DesktopTag component installs a service handler override for the createFileName method, which should be called for all file get operations that go through the server (native URL requests do not call this method). If the file type is supported by the configuration, a set of custom properties are added to the file. These custom properties are used in various ways by the DesktopIntegrationSuite component and are made available to other components.
26.3.2 File Check-In Operation The DesktopTag component installs an extension filter that hooks the validateCheckinData filter, which is part of the DesktopIntegrationSuite component. It removes the custom properties that were added by a file get operation before the data is checked in to the server. The result set returned for this operation includes the properties that would be added to the Microsoft Office file in a subsequent file get operation. This is provided to allow the client to modify the file rather than having to get a new copy. This method calls the desktopTagGetFilter extension filter, just like the file get operation.
26-2 Oracle WebCenter Content Developer's Guide for Content Server Adding Properties to Checked-Out Content Items
26.4 Adding Properties to Checked-Out Content Items The functionality offered by the DesktopTag component is provided entirely in the background. There is no direct user interaction. It is typically used for content tracking purposes, although the information can be exposed to users. The properties that are added to the Microsoft Office files depend on the settings in the DesktopTag configuration file (see Section 26.5, "Configuring the DesktopTag Component"). In Figure 26–2, the content ID (dDocName), user name (dUser), and unique content item identifier (dID) are added to the Word document. The DISProperties custom property is always added. It lists all custom properties added by DesktopTag (as specified in the configuration file), and is used to ensure that the correct custom properties are deleted when a file is checked into Content Server again. Figure 26–1 shows an example of a Word 2003 document without any custom properties that DesktopTag would add.
Figure 26–1 Word 2003 Document Without Custom Properties Added by DesktopTag
Figure 26–2 shows a number of custom properties added to a Word 2003 document.
Customizing the DesktopTag Component 26-3 Adding Properties to Checked-Out Content Items
Figure 26–2 Word 2003 Document with Custom Properties Added by DesktopTag
26.4.1 Viewing Custom Properties Users can view the custom properties of a Microsoft Office file as follows:
■ Microsoft Office XP (2002) and 2003: Choose File, then Properties, and then click the Custom tab.
■ Microsoft Office 2007: Click the Office button in the application, then choose Prepare, then Properties, then Document Properties, then Advanced Properties, and then click the Custom tab.
■ Microsoft Office 2010: Open the File panel, then click Info, then Properties, then Advanced Properties, and then click the Custom tab. Figure 26–3 shows the custom properties that DesktopTag has added to a Word 2003 document.
26-4 Oracle WebCenter Content Developer's Guide for Content Server Adding Properties to Checked-Out Content Items
Figure 26–3 Custom Document Properties (Microsoft Word 2003)
26.4.2 Checking In Documents from Outside Content Server These custom document properties enable Oracle Webcenter Content: Desktop to keep track of where a managed file resides in Content Server. This, in turn, enables users to check a Microsoft Office document back in to Content Server even from outside a content management integration context. To check in a document, the user must have a connection to the server set up. The Office add-in looks at the CGI URL, Server, and IDCNAME properties to try to match the document to a server, so the user must be on the same network and have access to the server. This feature can be useful in a number of situations; for example:
■ A user receives a managed Word document from someone else, as an attachment to an e-mail.
■ A user copies a managed Word document from a server in the integration hierarchy to a folder outside that hierarchy. In either case, users can open the file in Microsoft Word, make changes, and then check the file back in to the server using the Oracle WebCenter Content menu or ribbon in Word. Desktop checks the custom properties embedded in the Word document to find out where to upload the file to.
Customizing the DesktopTag Component 26-5 Configuring the DesktopTag Component
26.5 Configuring the DesktopTag Component The DesktopTag component is configured using a configuration file, desktoptag_ environment.cfg, which is located in the component installation directory. This is a plain-text file that you can edit in any text editor. The component installation directory is MW_HOME/ECM_ORACLE_HOME/ucm/idc/components/DesktopTag.
Note: Make sure that you restart Content Server after making changes to the DesktopTag configuration file.
The following properties can be set in the configuration file:
■ DesktopTagFormats
■ DesktopTagPrefix
■ DesktopTagFields
■ DesktopTagPrefixCustom
■ DesktopTagFieldsCustom
■ DesktopTagPrefixExtended
■ DesktopTagFieldsExtended
■ DefaultTaskPaneUrl
■ DesktopTagLog
■ DesktopTagFormatsExclude
26.5.1 DesktopTagFormats Property The value of the DesktopTagFormats property is a comma-separated list of MIME data types that are processed for tagging. If the data type is not in the list, it is not processed. If this parameter is commented out (using #), empty, or not included in the configuration file at all, then all supported data types are processed. Example: DesktopTagFormats=application/msword,application/ms-excel If you include a nonsupported MIME data type in the list, DesktopTag will attempt to process the file, and an error event is included in the log file if logging is enabled.
26.5.2 DesktopTagPrefix Property The value of the DesktopTagPrefix property is the prefix added to the names of all standard Content Server metadata fields in the list of standard DesktopTag fields (see Section 26.5.3, "DesktopTagFields Property"). This prefix is not added if a specific property name is defined. If this parameter is commented out (using #), empty, or not included in the configuration file at all, then DIS is used as the default. Example: DesktopTagPrefix=STD
26-6 Oracle WebCenter Content Developer's Guide for Content Server Configuring the DesktopTag Component
26.5.3 DesktopTagFields Property The value of the DesktopTagFields property is a comma-separated list of all standard Content Server metadata fields that are added to Microsoft Office files as custom properties. You should use the server-internal field names (for example, dDocName for the content ID). For information about the internal field names of the standard metadata field, see the Oracle WebCenter Content Idoc Script Reference Guide. You can set a specific property name for a metadata field by adding it in parentheses after the field name. This is especially useful if the property name will be exposed to end users (for example, in the task area in Microsoft Office 2007 applications). Example: DesktopTagFields=dID,dDocName,dUser(User Name) Figure 26–4 shows the result of the preceding DesktopTagFields definition (assuming the default DIS prefix is used).
Figure 26–4 Example of Property Names
Note: The DISProperties custom property is always added. Its value is a list of all properties added by DesktopTag.
26.5.4 DesktopTagPrefixCustom Property The value of the DesktopTagPrefixCustom property is the prefix added to the names of all custom Content Server metadata fields in the list of custom DesktopTag fields (see Section 26.5.4, "DesktopTagPrefixCustom Property"). This prefix is not added if a specific property name is defined. If this parameter is commented out (using #), empty, or not included in the configuration file at all, then DISC is used as the default. Example: DesktopTagPrefixCustom=CST
26.5.5 DesktopTagFieldsCustom Property The value of the DesktopTagFieldsCustom property is a comma-separated list of all custom Content Server metadata fields that will be added to Microsoft Office files as custom properties. You define these fields in exactly the same manner as standard metadata fields (see Section 26.5.3, "DesktopTagFields Property"). Example: DesktopTagFieldsCustom=xComments(Extra Info),xArchiveStatus
Note: The standard and custom Content Server metadata fields are processed exactly the same by DesktopTag. The separate configuration entries are there only to make it easier to distinguish between these fields.
Customizing the DesktopTag Component 26-7 Configuring the DesktopTag Component
26.5.6 DesktopTagPrefixExtended Property The value of the DesktopTagPrefixExtended property is the prefix added to the names of all custom Content Server metadata fields in the list of extended DesktopTag fields (see Section 26.5.7, "DesktopTagFieldsExtended Property"). This prefix is not added if a specific property name is defined. If this parameter is commented out (using #), empty, or not included in the configuration file at all, then DISX is used as the default. Example: DesktopTagPrefixExtended=EXT
26.5.7 DesktopTagFieldsExtended Property The value of the DesktopTagFieldsExtended property is a comma-separated list of property definitions that come from the ExtendedUserAttributes component. The general form of a property definition is type/key/subkey(name). The type, key, and subkey values are the parameters used by the EC_GET_PROPERTY service. If any of these values begins with the character @, then the parameter value is taken from the specified Content Server metadata field (see the following example). You can set a specific property name for a metadata field by adding it in parentheses after the field name. Example: DesktopTagFieldsExtended=account/@dSecurityGroup/WCTPUrl (DIS_Task_Pane_Url) This example specifies that the property will be named DIS_Task_Pane_Url, and its value will be the ExtendedUserAttributes item with the type account, the key value specified by the dSecurityGroup metadata field (the security group of the content item), and the subKey WCTPUrl.
26.5.8 DefaultTaskPaneUrl Property The value of the DefaultTaskPaneUrl property is a string that defines the default URL to use in setting the DISTaskPaneUrl property, which is required to display a web page for a file in the task area of Microsoft Office applications. Any words beginning with the character @ are replaced by the values from the binder or by other means (currently, this applies only to @cgiUrl). Example: DefaultTaskPaneUrl=@cgiUrl?IdcService=GET_TASK_PANE &dID=@dID In this example, @cgiUrl would be replaced by the Content Server Cgi URL value, and @dID would be replaced by the value of the server-internal, unique content item identifier (dID). As another example, if there is an extended user attribute called WebCenterUrl, then adding the string "WebCenterUrl(DISTaskPaneUrl)" will set the DISTaskPaneUrl property to the value of the extended user attribute called WebCenterUrl.
26-8 Oracle WebCenter Content Developer's Guide for Content Server Configuring the DesktopTag Component
26.5.9 DesktopTagLog Property The value of the DesktopTagLog property is a Boolean value that indicates whether or not to log the operations and results of the DesktopTag component (1 = yes, 0 = no). If this parameter is commented out (using #), empty, or not included in the configuration file at all, then the component operations and results are not logged. The DesktopTag log information is included in the standard Content Server log files (accessible from the server’s administration pages), as Figure 26–5 shows.
Figure 26–5 DesktopTag Event in Content Server Log File
26.5.10 DesktopTagFormatsExclude Property The value of the DesktopTagFormatsExclude property is a comma-separated list of MIME data types that are not processed for tagging. If the data type is not in the list, it is processed. Example: DesktopTagFormatsExclude=application/ms-excel There is no reason to use both DesktopTagFormats and DesktopTagFormatsExclude.
Customizing the DesktopTag Component 26-9 Configuring the DesktopTag Component
26-10 Oracle WebCenter Content Developer's Guide for Content Server Part VI
Part VI Appendices
This part includes appendices that provide additional information. Part VI contains the following appendix:
■ Appendix A, "Troubleshooting"
A
ATroubleshooting
This appendix describes how to use troubleshooting aids to resolve problems with customizing Oracle WebCenter Content Server. This appendix includes the following sections:
■ Section A.1, "About Troubleshooting Aids"
■ Section A.2, "Viewing Server Errors"
■ Section A.3, "Viewing Page Data"
■ Section A.4, "Monitoring Resource Loading"
A.1 About Troubleshooting Aids Several troubleshooting aids are available to help evaluate Content Server pages as they are used.
A.2 Viewing Server Errors Syntax errors and other mistakes in component files or dynamic server pages can cause errors in Content Server. If the Content Server instance fails, it reports the error in the following locations:
■ If you run Content Server from a command prompt, you can view the error in the console window.
■ If you can log in to Content Server and display the Admin Server page, you can view the Content Server log by selecting the Content Server instance and then clicking View Server Output.
■ You can view the Content Server log files in the DomainHome/ucm/cs/weblayout/groups/secure/logs directory.
A.3 Viewing Page Data The IsJava setting displays the local data of a Content Server web page.
■ In a web browser, add the following code in the Address box to the end of the page's URL: &IsJava=1
■ On a template page or in an include, use the following code: <$IsJava=1$>
Troubleshooting A-1 Monitoring Resource Loading
The IsPageDebug setting displays a tree structure view of all includes being called on a Content Server web page. The debug trace appears at the bottom of the web page.
■ In a web browser, add the following code in the Address box to the end of the page's URL: &IsPageDebug=1
■ On a template page or in an include, use the following code: <$IsPageDebug=1$>
Tip: You can also set the IsPageDebug variable in the config.cfg file if you want the setting to apply for the whole server.
■ To place a marker in the script debug trace, place the following code at the point where you want to see a value or perform a step: <$trace("marker code")$>
For example, you can use the following code to insert the current user name in the debug trace (the eval function must be used to evaluate Idoc Script): <$trace(eval("The user name is <$UserName$>"))$>
For more information about IsJava and IsPageDebug, see the Oracle WebCenter Content Idoc Script Reference Guide.
A.4 Monitoring Resource Loading Three configuration settings enable you to view the loading of resources when you run Content Server from a command line. Set any of these variables equal to 1 in the IntradocDir/config/config.cfg file:
■ TraceResourceLoad logs all resources loaded, resource overrides, resource conflicts, and resource merges.
■ TraceResourceOverride logs when a system resource is overridden by a component resource or a component resource is loaded twice.
■ TraceResourceConflict logs when a system resource is overridden twice by component resources. For more information about these configuration setting, see the Oracle WebCenter Content Idoc Script Reference Guide.
A-2 Oracle WebCenter Content Developer's Guide for Content Server Index
A architecture Oracle WebCenter Content, 1-1, 2-1 AboutBox method, IdcClient OCX, 22-16 WebDAV, 18-5 access level attribute, 15-17 Asian language, 9-5 access numbers, 25-13 assembling pages, 1-13 accessibility, xvii assembly properties, 15-7 accessing services, 21-1 attributes action format, 15-18 ClientControlledContextValue, 22-26 action menus HostCgiUrl, 22-27 customizing, 8-4 name, 25-14 generating, 8-1 Password, 22-27 icon in Actions column, 8-4 service resources, 15-20 overview, 8-1 type, 25-14, 25-17 actions UseBrowserLoginPrompt, 22-27 control mask, 15-19 UseProgressDialog, 22-27 error message, 15-19 UserName, 22-27 name, 15-18 WorkingDir, 22-27 parameters, 15-18 audience, xvii service resource, 15-21 type, 15-18 Actions column B action menu icon, 8-4 Back method, IdcClient OCX, 22-16 service ResultSet, 15-18 Batch Loader utility, 1-3 Active Server Pages Batch mode, 13-1 embedded SOAP request, 25-40 beginning form section, 4-17 service execution, 25-40 behavior, Content Server, 2-1 ActiveX control bin directory, 1-2 IdcClient OCX, 22-4 binders for multiple requests, reusing, RIDC, 23-12 activity metrics Binding element, WSDL file structure, 25-44 customizing the SQL queries, 12-21 browsers SQL queries for post-reduction step, 12-21 multiple, 1-10 ADD_USER service, 25-12 bundling files, 3-7 ADF runtime libraries, installing for JCR order of filters, 3-8 adapter, 24-4 overview, 3-7 Advanced Component Manager PublishedBundles table, 3-8 overview, 9-16 buttons, form, 4-18 page, 9-17 anonymous user interface customization, 3-4 C external customers without login, 3-4 -c connection_mode ExtranetLook component for changing, 3-4 auto, 21-5 Apache Jakarta Tomcat Server, 20-1 server, 21-5 APIs, installing for JCR adapter, 24-4 standalone, 21-5 applets, 1-3 C# class files, 25-50 cache settings, JCR adapter, 24-7 caching resources, 1-13
Index-1 calling services remotely, 21-6 Component Wizard CancelRequest method, IdcClient OCX, 22-16 creating a dynamic table, 15-13 cascading style sheets, 1-9 custom components, 9-3, 9-13 Categorize button, 13-1 description of, 9-15 CFG file, 15-31 disabling components, 10-2 CgiUrl TextBox properties, edited, 22-7 editing dynamic tables, 15-14 changed features, xix, xx editing environment resources, 15-32 characters, special, command-file syntax, 21-4 editing HTML includes, 15-3, 15-5, 15-13 CHECKIN_UNIVERSAL service, WSDL, 25-21 editing service resources, 15-24 CheckIn.wsdl file, 25-44 editing static tables, 15-14 CHECKOUT_BY_NAME service, WSDL, 25-25 editing template resources, 15-30 CIS enabling components, 10-2 deprecated, xx installing component, 16-3 CIS. See Remote Intradoc Client (RIDC) interface, 9-16 ClassAliases ResultSet, 9-23 overview of, 9-15 ClientControlledContextValue property, 22-26 tool for working with component files, 9-13 clients WebCenter Content utility, 1-3 configuration, 23-5 working with resources, 9-24 WebDAV, 18-4 Components COM integration operational summary, 12-1 API, 22-1 components introduction, 22-1 Advanced Component Manager, 9-16 COM interface, 22-1 Component Manager, 9-16 Combined output table ComponentTool command-line utility, 9-18 change file type logging status, 12-8 creating, 9-12 file types not logged, 12-8 custom set file types with SctIgnoreFileTypes, 12-8 Component Wizard, 9-3, 9-13 command file development recommendations, 9-12 IdcCommand parameters, 21-2 managing, 9-3 IdcCommand service commands, 21-2 working with, 9-1 IdcCommand utility option, 21-4 directories, 9-4, 9-12 syntax disabling, 10-1 precedence, 21-3 enabling, 10-1 service commands, 21-2 files special characters, 21-4 changing, 1-13 command file syntax, special tags, 21-4 component creation, 9-4 Command TextBox properties, edited, 22-7 Component Wizard, 9-13 command-file development recommendations, 9-12 syntax organization, 9-14 special characters, 21-4 overview, 9-1 command-line utility text editor, 9-13 ComponentTool working with, 9-13 description of, 9-18 functionality, 9-2 installing component with, 16-3 HDA file, 9-11, 9-18 options, 21-2 IdcClient OCX, 22-4 commands, verifying, 22-13 installation common code forms, 4-25 ComponentTool utility, 16-3 communication overview, 16-1 JCR adapter configuration, 24-5 limitations, 9-3 method, JCR adapter, 24-6 loading, 1-12 comparison operators, dynamic server pages, 4-5, naming conventions, 9-15 4-6 overview, 9-1 component definition file, 9-8, 9-19 standard, 9-1 Component Manager system, 9-1 Advanced, 9-3, 9-16 using, 9-2 custom components, 9-3 working with, 9-1 disabling components, 10-2 working with files, 9-13 enabling components, 10-2 ZIP file for deployment, 9-11 installing components with, 16-2 components directory, 1-5 Components ResultSet, 9-6, 9-19
Index-2 components, custom Content Categorizer, 13-1 directories and files, 9-4 overview, 13-1 ComponentTool command-line utility Content Check In Form, 13-1 description of, 9-18 Content Integration Suite (CIS) installing component, 16-3 deprecated, xx computed settings, Launcher, 21-7 Content Integration Suite (CIS). See Remote Intradoc config directory, 1-3, 1-5 Client (RIDC) config.cfg configuration file, 3-3 content items configuration example, HelloWorld displayed in web changing information, 6-1 browser, 4-27 clients, 23-5 finding information for config.cfg file, 3-3 JCR, 24-7 entries in configuration file, 3-3 tables JCR adapter communication, 24-5 JCR, 24-7 JSP support, 20-3 Content Publisher, 4-9, 13-1 Launcher, 21-11 dynamic server pages, 4-4 options, idcCommand utility, 21-4 nested tags, 4-13 configuration files repeated ResultSet tags, 4-15 environment resources, 15-31 Content Server, 13-1 example, 21-11 behavior, 2-1 load order, 1-12 configuration variables, loading, 1-11 Configuration settings configuring JCR adapter communication, 24-5 default values for Content Tracker, 12-4 custom components, loading, 1-12 SctAutoTruncateDataStrings, 12-5 development mode, 9-13 SctComponentDir, 12-5 interface, 22-28 SctDebugLogEnabled, 12-5 changing look and feel, 3-1 SctDebugLogFilePath, 12-5 changing navigation, 3-1 SctDebugServiceBinderDumpEnabled, 12-5 customizing, 3-3 SctFilterPluginLogDir, 12-5 ODMA files, 22-28 SctIdcAuthExtraConfigParams, 12-5 interface, Content Server SctIgnoreDirectories, 12-5 anonymous user interface, changing, 3-4 SctIgnoreFileTypes, 12-5 modifying, 3-1 SctLogDir, 12-5 internal initialization, 1-11 SctLogEnabled, 12-5 JCR adapter data model, 24-2 SctLogSecurity, 12-5 modifying system functionality, 5-1 SctMaxRecentCount, 12-5 reports, loading, 1-12 SctMaxRereadTime, 12-6 resources, loading, 1-12 SctPostReductionExec, 12-7 startup behavior, 1-11 SctProxyNameMaxLength, 12-7 startup steps, 1-11 SctReductionAvailableDatesLockback, 12-6 templates, loading, 1-12 SctReductionLogDir, 12-6 Content Tracker SctReductionRequireEventLogs, 12-6 default configuration setting values, 12-4 SctScheduledReductionEnable, 12-6 setting configuration variables, 12-8 SctSnapshotEnable, 12-6 Content Tracker logging service SctSnapshotLastAccessEnable, 12-6 calling from an application, 12-18 SctSnapshotLastAccessField, 12-6 calling from Idoc Script, 12-18 SctSnapshotLongCountEnable, 12-6 service call overview, 12-15 SctSnapshotLongCountField, 12-6 context roots, 19-3 SctSnapshotLongCountInterval, 12-6 Contribution Folders, default system-level SctSnapshotShortCountEnable, 12-6 folder, 18-3 SctSnapshotShortCountField, 12-6 control mask, 15-19 SctSnapshotShortCountInterval, 12-7 controls, IdcClient OCX, 22-2 SctUrlMaxLength, 12-7 conventions SctUseGMT, 12-7 naming, 4-9, 9-15 setting values for Content Tracker, 12-8 text, xviii configuration variables, loading, 1-11 core/config directory, 1-5 connections creating and executing IdcCommand handling with RIDC, 23-11 parameters, 21-5 mode, IdcCommand utility option, 21-5 CSS, 1-9 content attribute, metadata tag, 4-13 custom components
Index-3 Advanced Component Manager, 9-3 check-in, 26-2 Component Wizard, 9-3, 9-13 check-out, 26-2 development recommendations, 9-12 configuration file, 26-1, 26-6 directories and files, 9-4 configuring, 26-6 loading, 1-12 custom fields, 26-7 understanding, 9-4, 9-12 ExtendedUserAttributes component and, 26-8 working with, 9-1 fields, 26-6 custom includes File Check-In operation, 26-2 examples of, 4-19 File Get operation, 26-2 HCSP file references, 4-20 log, 26-9 HCST file references, 4-19 metadata fields IDOC files, 4-21 MicroSoft Office file properties, 26-7 custom installation parameter files, 9-12 processing, 26-7 custom resource files, 9-8, 9-11 properties customization DefaultTaskPaneUrl, 26-8 Content Server interface, 3-1, 3-3 DesktopTagFields, 26-7 Content Server navigation, 3-1 DesktopTagFieldsCustom, 26-7 popup menus, 8-4 DesktopTagFieldsExtended, 26-8 services, 7-1 DesktopTagFormats, 26-6 site files, 9-11 DesktopTagFormatsExclude, 26-9 skills recommended for, 1-9 DesktopTagLog, 26-9 stages, 1-8 DesktopTagPrefix, 26-6 system settings, 5-1 DesktopTagPrefixCustom, 26-7 tips, 1-8 DesktopTagPrefixExtended, 26-8 tools recommended for, 1-9 DISProperties, 26-7 types, 1-7 DISTaskPaneUrl property, 26-8 WebCenter Content instance, 1-1 DesktopTagFields property, 26-7 DesktopTagFieldsCustom property, 26-7 D DesktopTagFieldsExtended property, 26-8 DesktopTagFormats property data binder, 9-9 description, 26-6 Data collection DesktopTagFormatsExclude and, 26-9 change file type logging status Data reduction DesktopTagFormatsExclude property change file type logging status, 12-8 description, 26-9 file types not logged, 12-8 DesktopTagFormats and, 26-9 set file types with SctIgnoreFileTypes, 12-8 DesktopTagLog property, 26-9 Data reduction DesktopTagPrefix property, 26-6 file types not logged, 12-8 DesktopTagPrefixCustom property, 26-7 set file types with SctIgnoreFileTypes, 12-8 DesktopTagPrefixExtended property, 26-8 data section development overview of, 4-11 Content Server, 9-13 structure, 4-11 dynamic server pages, 4-9 Data Types element, WSDL file structure, 25-44 HCSF pages, 4-10 database interaction, 1-14 dID parameter, 4-8 dDocName parameter, 4-8 DIME message format, 25-3 debug trace, A-2 directories, 1-1 default suffix, 4-13 bin, 1-2 DefaultTaskPaneUrl property, DesktopTag, 26-8 components, 1-5 defining config, 1-3 form fields, 4-26 core/config, 1-5 form information, 4-26 groups, 1-6 hidden fields, 4-26 idoc, 1-5 definition file, 9-8 images, 1-6 DELETE_USER service, 25-20 install, 1-5 deployment javascript, 1-5 JCR adapter, 24-5 jspserver, 1-5 JCR API for JCR adapter, 24-4 lang, 1-5 JCR integration libraries for JCR adapter, 24-5 naming conventions, 9-15 RIDC for JCR adapter, 24-4 organization, 9-14 DesktopTag reports, 1-5
Index-4 resources, 1-5, 1-6 E structure, 9-12 templates, 1-5, 1-6 EDIT_USER service, 25-15 terminology, 1-2 EditDocInfoLatestRev method, IdcClient OCX, 22-18 WebCenter Content, 1-1 editing weblayout, 1-6 dynamic data table resource, 15-5 disabling components, 10-1 dynamic table resource, 15-14 display tables, creating, 8-2 environment resource, 15-32 DISProperties custom property, 26-7 HTML include resource, 15-3 DISTaskPaneUrl property and DesktopTag, 26-8 ResultSet, 4-16 DOC_INFO service service resource, 15-24 content item information retrieval, 25-29 static table, 15-14 example, 15-19 string resource, 15-13 DOC_INFO_SIMPLE service, 4-25 template resource, 15-30 DoCheckoutLatestRev method, IdcClient elements in HDA files, 9-5 OCX, 22-16 embedded SOAP request, 25-40 DocInfo.wsdl file, 25-44 enabling components, 10-1 docLoadResourceIncludes function end of form, 4-18 description, 4-7 enterprise application integration, 18-1 HCSF pages, 4-11 environment, 9-9 parameters, 4-8 environment resources requirements for calling, 4-7 description, 15-31 document node, 25-8 editing, 15-32 document node, SOAP, 25-8 example, 15-31 double-byte characters, 9-5 file contents, 15-31 DownloadFile method, IdcClient OCX, 22-17 overview, 1-7 DownloadNativeFile method, IdcClient OCX, 22-17 environment variables, Launcher, 21-10 Drag method, IdcClient OCX, 22-18 EOD dynamic data table resources, 1-7, 15-3 command-file tag, 21-4 dynamic server pages end of data marker, 21-4 altering navigation of web pages, 4-1 error message section, service resource, 15-19 comparison operators, 4-5, 4-6 error message service attribute, 15-18 Content Publisher, 4-4 errors, server, A-1 creating, 4-4 events development recommendations, 4-9 IdcClient OCX, 22-3 docLoadResourceIncludes function, 4-7 IntradocBeforeDownload, 22-13 examples, 4-19, 4-20, 4-27 IntradocBrowserPost, 22-14 Idoc Script IntradocBrowserStateChange, 22-14 functions, 4-7 IntradocRequestProgress, 22-14 tags, 4-5 IntradocServerResponse, 22-14 naming conventions, 4-9 examples overview, 4-1 changing a foreign key value, 4-18 page types, 4-3 ClassAliases ResultSet, 9-23 process, 4-3 code for HCSF pages, 4-25 referencing metadata, 4-5, 4-7 component definition file, 9-19, 15-32 special characters, 4-5, 4-6 components HDA file, 9-18 syntax, 4-4 configuration file, 21-11 tips, 4-9 content item displayed in web browser, 4-27 types, 4-3 dynamic server pages, 4-19, 4-20, 4-27 dynamic table resources environment resource, 15-31 creating, 15-13 Filters ResultSet, 9-23 editing, 15-14 form fields, 4-26 Form_Load code, edited, 22-10 HDA file format, 15-13 merge rules, 15-14 glue file, 9-19, 15-32 overview, 1-7 HCSF page, 4-20 dynamic web pages, assembly, 1-13 HCSP page, 4-19 Dynamicdata Idoc Script functions, 15-10 HCST page, 4-19 dynamicdata includes, 1-7 HDA file, 1-5, 9-4 HelloWorld displayed in web browser, 4-27 HTML includes, 15-2 IdcClient OCX component
Index-5 methods, 22-3 HCSF properties, 22-3 description, 4-4 IDOC pages, 4-19, 4-20, 4-27 product description form, 4-20 JSP pages, loading, 20-3 HCSP LocalData section, 9-5 custom include references, 4-20 MergeRules ResultSet, 9-22, 15-24 description, 4-4 OCX methods, 22-3 HCST OCX properties, 22-3 custom include references, 4-19 Properties section, 9-5 description, 4-3 query resource, 15-15 HDA report page, 15-28 description, 9-4 ResourceDefinition ResultSet, 9-20 IDOC ResultSet section, 9-6 custom includes, 4-21 SendPostCommand_Click code, edited, 22-10 description, 4-3 services information retrieval, 4-25 actions, 15-21 log, IdcCommand utility option, 21-5 attributes, 15-20 manifest, 9-9 definition, 15-17 naming conventions, 9-15 resource, 15-17, 15-19 optimizing published files, 3-7 super tag, 15-2 organization, 9-14 template page, 15-27 referencing published, 3-9 Extended service logging search_results.htm, 15-25 overview, 12-10 types, 9-2 ExtendedUserAttributes component and usage, 3-9 DesktopTag, 26-8 WebCenter Content, 1-1 eXtensible Markup Language, 13-1 working with in components, 9-13 ExtranetLook component filter properties, 15-9 changing anonymous user interface, 3-4 Filters ResultSet, 9-23 overview, 3-4 Flexiondoc, 13-1 ExtraRootNodes form element, 4-13, 4-14 Folders component benefits of virtual folders, 18-3 F structure, 18-3 virtual folders interface, 18-3 features foreign key, changing value of, 4-18 changed, xix form properties, 4-17 JSP, 20-2 form section, 4-17 new, xix begin, 4-17 field subnode, SOAP, 25-9 form buttons, 4-18 fields, form input, 4-17 form end, 4-18 file extension, referencing, 4-25 properties, 4-17 file store provider, using Form_Load code, edited, 22-10 JCR, 24-9 formats file store tables action, 15-18 JCR, 24-7 table specification, 15-3 files forms bundling, 3-7 buttons, 4-18 command, 21-4 common code, 4-25 command file, IdcCommand utility, 21-2 defining form information, 4-26 component definition, 9-8, 9-19 elements, 4-14 component ZIP, 9-11 end of form section, 4-18 components HDA, 9-11, 9-18 fields config.cfg, 3-3 defining, 4-26 configuration, 15-31 for input, 4-17 custom installation parameter, 9-12 properties, 4-26 custom resource, 9-8, 9-11 submitting, 4-27 customized for site, 9-11 Forward method, IdcClient OCX, 22-19 environment, 15-31 functionality, modifying, 5-1 glue, 9-8
Index-6 functions submitting forms, 4-27 docLoadResourceIncludes, 4-7 tips, 4-10 Dynamicdata Idoc Script, 15-10 variables, 4-11 Idoc Script, 4-7 HCSP files Fusion Order Demo application custom include reference, 4-20 description, 2-1 description, 4-4 setting up, 2-2 syntax, 4-5 .hcsp files. See HCSP files G HCSP pages creating, 4-19, 4-20, 4-27 generating action menus, 8-1 example, 4-19 generating proxy class from WSDL files, 25-50 link to display, 4-25 generating WSDL files, 25-49 HCST files GenericSoapService, 19-3 custom include reference, 4-19 GET_CRITERIA_WORKFLOWS_FOR_GROUP description, 4-3 service, 25-38 syntax, 4-5 GET_FILE service, 25-30 .hcst files. See HCST files GET_SEARCH_RESULTS service, 25-34 HCST pages GET_TABLE service, 25-37 creating, 4-19, 4-20, 4-27 GET_USER_INFO service, 25-18 examples, 4-19 GetFile.wsdl file, 25-44 HDA files glue file, 9-8 component definition, 9-18 GoCheckinPage method, IdcClient OCX, 22-19 description, 9-4 groups directory, 1-6 elements, 9-5 example, 1-5, 9-4 H idc file for components, 9-7 idc for components, 9-18 HCSF files idc_components.hda, 9-18 description, 4-4 ResultSet section, 9-6 product description form, 4-20 .hda files. See HDA files syntax, 4-5 HEAD section, HCSF page, 4-11 .hcsf files. See HCSF files Headline View tables, 8-2 HCSF pages HelloWorld content item displayed in web common code, 4-25 browser, 4-27 creating, 4-20 hidden fields, defining, 4-26 data section, 4-11 hierarchical folders, 18-3 defining form fields, 4-26 Home method, IdcClient OCX, 22-20 defining form information, 4-26 HostCgiUrl property, IdcClient, 22-27 defining hidden fields, 4-26 HTML declaration, HCSF pages, 4-11 description, 4-10 HTML editor, 1-10 docLoadResourceIncludes function, 4-11 HTML in templates, 1-9 example, 4-20 HTML includes, 15-2 form buttons, 4-18 creating, 15-13 form elements, 4-14 editing, 15-3, 15-5, 15-13 form end, 4-18 example, 15-2 form properties, 4-17 HCSF pages, 4-11 form section, 4-17 overview, 1-7 form to create in web browser, 4-24 standard, 15-2, 15-3, 15-11 HTML declaration, 4-11 super tag, 15-2 HTML includes, 4-11 HTTP headers, 25-6 isFormFinished attribute, 4-12 load section, 4-10 meta tag, 4-11 I metadata tags, 4-13 idc HDA file for components, 1-5, 9-7 nested tags, 4-13 idc namespace, 25-6 referencing file extensions, 4-25 idc_components.hda file, 9-18 referencing XML tags, 4-13 IdcAnalyze WebCenter Content utility, 1-3 ResultSets, 4-14 idcbegindata tag, 4-11 resultsets attribute, 4-12 IdcClient ActiveX Control module, 22-4 retrieving file information, 4-25 IdcClient events, 22-13
Index-7 IdcClient OCX component setup, 21-2 Content server functions, 22-3 using the Launcher, 21-14 control setup, 22-4 WebCenter Content, 1-3 description, 22-2 idccs_components.hda file, 9-11 interface, 22-4 idcenddata tag, 4-11 methods, 22-3 idcformrules tag, 4-12 AboutBox, 22-16 idcibr_components.hda file, 9-11 Back, 22-16 IdcServer service, 1-3 CancelRequest, 22-16 IdcServerNT service, 1-3 DoCheckoutLatestRev, 22-16 IdcService command-file syntax tag, 21-4 DownloadFile, 22-17 idcurm_components.hda file, 9-11 DownloadNativeFile, 22-17 IdcWebLoginService web service, 19-4 Drag, 22-18 IdcWebRequestService web service, 19-3 EditDocInfoLatestRev, 22-18 IDE, 1-10 Forward, 22-19 idoc directory, 1-5 GoCheckinPage, 22-19 IDOC files Home, 22-20 custom includes, 4-21 InitiateFileDownload, 22-20 description, 4-3 InitiatePostCommand, 22-21 syntax, 4-5 Move, 22-21 .idoc files. See IDOC files Navigate, 22-21 IDOC pages NavigateCgiPage, 22-22 creating, 4-19, 4-20, 4-27 RefreshBrowser, 22-22 examples, 4-19, 4-20, 4-27 SendCommand, 22-22 idoc resource type, 1-6 SendPostCommand, 22-23 Idoc Script SetFocus, 22-23 description, 1-9 ShowDMS, 22-23 functions, dynamic server pages, 4-7 ShowDocInfoLatestRev, 22-24 tags, dynamic server pages, 4-5 ShowWhatsThis, 22-24 images directory, 1-6 StartSearch, 22-24 implementation architectures, web services mapped Stop, 22-24 to Content Server, 25-4 UndoCheckout, 22-25 includes ViewDocInfo, 22-25 custom ViewDocInfoLatestRev, 22-25 examples of, 4-19 ZOrder, 22-26 IDOC file, 4-21 properties properties, 15-9 example, 22-3 initialization overview, 22-3 RIDC, 23-4 setting up, 22-4 InitiateFileDownload method, IdcClient OCX, 22-20 IdcClient OCX control InitiatePostCommand method, IdcClient OCX, 22-21 description, 22-2 install directory, 1-5 events, 22-3 installation IdcClient OCX methods, 22-15 Component Manager, 16-2 IdcClient properties Component Wizard, 16-3 edited, 22-6 components overview, 22-26 ComponentTool utility, 16-3 IdcCommand utility overview, 16-1 accessing services, 21-1 JCR adapter calling services remotely, 21-6 ADF runtime libraries, 24-4 command-file syntax, 21-2 APIs required, 24-4 command-line options, 21-2 runtime libraries required, 24-4 configuration options, 21-4 Installer, 1-3 execution, 21-2 Integrated Development Environment, 1-10 options integration command file, 21-4 COM API, 22-1 connection mode, 21-5 enterprise applications with WebCenter log file, 21-5 Content, 18-1 user, 21-4 JSP, 20-1 overview, 21-1 methods, overview, 18-1 repository server, 21-5 ODMA, 22-28
Index-8 WebCenter Content with enterprise configuration, 24-7 applications, 18-1 cache settings, 24-7 WebDAV, 18-4 user agent, 24-7 Interactive mode, 13-1 data model interface, Content Server code, 24-2 anonymous user interface, changing, 3-4 Content Server, 24-2 changing look and feel, 3-1 deploying, 24-5 changing navigation, 3-1 deploying JCR API, 24-4 customizing deploying RIDC, 24-4 layouts and skins, 3-3 installing ADF runtime libraries, 24-4 overview, 3-1 installing required APIs and runtime modifying, 3-1 libraries, 24-4 internal initialization, 1-11 JCR integration libraries, 24-5 IntradocApp applet, 1-3 web communication, 24-7 IntradocBeforeDownload event, IdcClient, 22-13 JCR API, deploying for JCR adapter, 24-4 IntradocBrowserPost event, IdcClient, 22-14 JCR data model, 24-2 IntradocBrowserStateChange event, IdcClient, 22-14 JCR integration libraries, deploying for JCR IntradocClient OCX component, 22-2 adapter, 24-5 IntradocReports ResultSet, 9-7 JSP IntradocRequestProgress event, IdcClient, 22-14 access to Content Server, 20-1 IntradocServerResponse event, IdcClient, 22-14 execution, 20-1 IntradocTemplates ResultSet, 9-7 features, 20-2 isEditMode variable, 4-26 integration isFormFinished attribute, 4-12 configuring JSP support, 20-3 isFormSubmit variable, 4-26 loading example pages, 20-3 IsJava setting, A-1 overview, 20-1 IsPageDebug setting, A-2 support, configuration, 20-3 jspserver directory, 1-5 J L Java Content Repository Adapter introduction, 24-1 labels, visual interface, 22-11 using, 24-1 lang directory, 1-5 Java SOAP Client, 25-5 Launcher JavaScript computed settings, 21-7 Content Server use of, 1-9 configuration, 21-11 debugger, 1-10 environment variables, 21-10 javascript directory, 1-5 quotation rules, 21-7 JavaServer Pages. See JSP user interface, 21-11 JCR using the, 21-14 content items layouts finding information for, 24-7 creating new, 3-7 tables, 24-7 description, 3-2 file store provider, using, 24-9 overview, 3-1 file store tables, 24-7 selection, 3-2 search index Top Menus, 3-2 tables, 24-7 Trays, 3-2 using, 24-9 types, 3-1 tables link, HCSP page display, 4-25 content items, 24-7 listener port, JCR adapter communication, 24-6 file store, 24-7 load section, 4-10 search index, 24-7 loading JCR adapter configuration variables, 1-11 communication custom components, 1-12 configuring, 24-5 monitoring resources, A-2 configuring socket communication, 24-6 standard reports, 1-12 configuring SSL, 24-6 standard resources, 1-12 listener port, 24-6 standard templates, 1-12 method, 24-6 provider, 24-6
Index-9 LocalData, 9-9 SendPostCommand, 22-23 data binder evaluation of, 9-9 SetFocus, 22-23 properties section name, 9-5 ShowDMS, 22-23 localization, resolving strings, 1-14 ShowDocInfoLatestRev, 22-24 log file, IdcCommand utility option, 21-5 ShowWhatsThis, 22-24 look and feel, customizing Content Server, 3-1 StartSearch, 22-24 Stop, 22-24 M UndoCheckout, 22-25 ViewDocInfo, 22-25 manifest file, 9-9 ViewDocInfoLatestRev, 22-25 Manifest ResultSet, 9-10 ZOrder, 22-26 manifest.hda file, 9-9 InitiateFileDownload, 22-20 marker, trace, A-2 InitiatePostCommand, 22-21 menus, action, generation of, 8-1 Move, 22-21 merge properties, 15-6 Navigate, 22-21 merge rules NavigateCgiPage, 22-22 dynamic table resources, 15-14 RefreshBrowser, 22-22 static tables, 15-14 SendCommand, 22-22 MergeRules ResultSet, 9-22 SendPostCommand, 22-23 columns, 9-22 SetFocus, 22-23 example, 9-22 ShowDocInfoLatestRev, 22-24 template resource, 15-24 ShowWhatsThis, 22-24 toTable column, 9-23 StartSearch, 22-24 Message element, WSDL file structure, 25-44 Stop, 22-24 messaging protocol, 25-5 UndoCheckout, 22-25 meta tag, 4-11 ViewDocInfo, 22-25 metadata, 13-1 ViewDocInfoLatestRev, 22-25 referencing, 4-5, 4-7 Zorder, 22-26 tags Microsoft .NET, 25-4 content attribute, 4-13 Microsoft Visual Basic, 22-4 form field values, 4-13 modes, 13-1 MetaData.wsdl file, 25-44 monitoring resource loading, A-2 methods Move method, IdcClient OCX, 22-21 CancelRequest, 22-16 DoCheckoutLatestRev, 22-16 N DownloadFile, 22-17 DownloadNativeFile, 22-17 namespaces, 25-6 Drag, 22-18 name/value pair, 15-31 EditDocInfoLatestRev, 22-18 naming conventions Forward, 22-19 directories, 9-15 GoCheckinPage, 22-19 dynamic server pages, 4-9 IdcClient OCX files, 9-15 AboutBox, 22-16 Navigate method, IdcClient OCX, 22-21 Back, 22-16 NavigateCgiPage method, IdcClient OCX, 22-22 CancelRequest, 22-16 navigation DoCheckoutLatestRev, 22-16 customizing Content Server, 3-1 DownloadFile, 22-17 dynamic server pages, 4-1 DownloadNativeFile, 22-17 nested tags Drag, 22-18 ResultSets, 4-15 EditDocInfoLatestRev, 22-18 XML nodes, 4-13 Forward, 22-19 .NET architecture, 25-5 GoCheckinPage, 22-19 .NET Framework, 25-4 Home, 22-20 .NET platform, 25-4 InitiateFileDownload, 22-20 new features, xix InitiatePostCommand, 22-21 nodes, SOAP Move, 22-21 packet format, 25-7 Navigate, 22-21 service, 25-7 NavigateCgiPage, 22-22 nonactive ResultSets, 9-9 RefreshBrowser, 22-22 Non-secure mode reports SendCommand, 22-22 values for preference variable, 12-8
Index-10 O presentation pages, 15-27 product description form, HCSF file, 4-20 OCX Component. See IdcClient OCX component programming OCX control, Visual Basic form, 22-5 Java, 1-9 OCX events, 22-3 other, 1-9 OCX examples properties methods, 22-3 assembly, 15-7 properties, 22-3 CgiUrl TextBox, edited, 22-7 OCX interface, 22-2 Command TextBox, edited, 22-7 ODMA Client, 22-28 filter, 15-9 ODMA Client Interface, 22-28 forms, 4-17, 4-26 ODMA Desktop Shell Interface, 22-28 IdcClient OCX component, 22-3 ODMA integration, 22-28 idcClient, edited, 22-6 ODMA interfaces, 22-28 include, 15-9 operating modes, 13-1 merge, 15-6 Operational summary Response TextBox, edited, 22-8 Content Tracker components, 12-1 SendPostCommand CommandButton, operators, dynamic server pages, 4-5 edited, 22-9 optimization, published files, 3-7 sort, 15-8 option subnode, SOAP, 25-9 table, specification, 15-5 optionlist node, 25-8 provider SOAP, 25-8 JCR adapter communication, 24-6 Oracle Web Services Manager, 18-2, 19-2, 25-1 public files, bundling for optimization, 3-7 Oracle WebCenter Content published files architecture, 1-1, 2-1 optimizing use of, 3-7 customization, 1-1 referencing, 3-9 directories, 1-1 PublishedBundles table, 3-8 components, 1-5 PublishedResources, 3-9 terminology, 1-2 files, 1-1 integration with enterprise applications, 18-1 Q Oracle WebCenter Content Server. See Content Server QDocInfo query, standard, 15-15 organization, component files, 9-14 queries, QDocInfo, standard, 15-15 overview, 13-1 query resources, 15-14 Content Categorizer, 13-1 editing, 15-16 example, 15-15 P overview, 1-7 quotation rules, Launcher, 21-7 pages dynamic server, types, 4-3 dynamic web, assembly, 1-13 R HCSF recommended skills, 1-9 description, 4-10 ref prefix form to create in web browser, 4-24 referencing file extensions, 4-25 HCSP, link to display, 4-25 referencing metadata, 4-7 report, 15-24, 15-27 referencing metadata template, 15-24, 15-27 dynamic server pages, 4-5, 4-7 parameters ref prefix, 4-7 action, 15-18 referencing XML tags, 4-13 docLoadResourceIncludes function, 4-8 RefreshBrowser method, IdcClient OCX, 22-22 string, 15-12 related documents, xvii password, 22-27 Remote Intradoc Client (RIDC) PING_SERVER service, 25-11 ADF Connection facade, 23-15 popup menus. See action menus binders for multiple requests, reusing, 23-12 Port element, WSDL file structure, 25-44 convenience classes, 23-13 Port Type element, WSDL file structure, 25-44 deploying for JCR adapter, 24-4 PortalInfo.wsdl, 25-44 handling connections, 23-11 Post-reduction processing initialization, 23-4 SQL queries for activity metrics, 12-21 Introduction, 23-1 precedence, 21-3 services, 23-10 predefined ResultSets, 9-6
Index-11 streams nonactive, 9-9 receiving, 23-11 predefined, 9-6 sending, 23-11 repeated tags, 4-15 user authentication, 23-9 ResourceDefinition, 9-7, 9-20 user security, providing, 23-13 SearchResultTemplates, 9-7 using, 23-1 XML tags, 4-14 Remote Procedure Call, 25-5 resultsets attribute, 4-12 Rendition parameter, 4-8 resultsets form element, 4-13, 4-14 repeated tags in ResultSets, 4-15 retrieving file information, 4-25 report pages reverse proxy server example, 15-28 web beacon feature, 12-23 location, 15-24 RevisionSelectionMethod parameter, 4-8 presentation pages, 15-27 RIDC. See Remote Intradoc Client (RIDC) results of web page request, 15-27 row subnode, SOAP, 25-9 reports RPC, 25-5 directory, 1-5 runtime libraries loading, 1-12 ADF, installing for JCR adapter, 24-4 resource categories, 15-1 installing for JCR adapter, 24-4 resource loading, monitoring, A-2 resource types S idoc, 1-6 tables, 1-6 SAML, 19-2 templates, 1-6 sample service calls, GET_USER_INFO, 25-18 ResourceDefinition ResultSet Sample WSDL File, 25-46 columns, 9-21 scriptable services, 4-8 description, 9-20 SctAutoTruncateDataStrings example, 9-20 Content Tracker configuration setting, 12-5 location, 9-7 SctComponentDir purpose, 9-7 Content Tracker configuration setting, 12-5 resources, 9-24 SctDebugLogEnabled caching, 1-13 Content Tracker configuration setting, 12-5 changing, 1-13 SctDebugLogFilePath custom Content Tracker configuration setting, 12-5 other files, 9-11 SctDebugServiceBinderDumpEnabled directory, 1-5 Content Tracker configuration setting, 12-5 dynamic table, 15-13 SctFilterPluginLogDir environment, 15-31 Content Tracker configuration setting, 12-5 overview, 1-6 SctIdcAuthExtraConfigParams query Content Tracker configuration setting, 12-5 editing, 15-16 SctIgnoreDirectories overview, 15-14 Content Tracker configuration setting, 12-5 service, 15-16 SctIgnoreFileTypes standard, 1-7 Content Tracker configuration setting, 12-5 static table, 15-14 SctLogDir string, 15-10 Content Tracker configuration setting, 12-5 resources directory, 1-6 SctLogEnabled Response TextBox properties, edited, 22-8 Content Tracker configuration setting, 12-5 ResultSet section, HDA file, 9-6 SctLogSecurity resultset subnode, SOAP, 25-9 Content Tracker configuration setting, 12-5 ResultSets, 9-9 SctMaxRecentCount ClassAliases, 9-23 Content Tracker configuration setting, 12-5 Components, 9-6, 9-19 SctMaxRereadTime defined by XML tags, 4-14 Content Tracker configuration setting, 12-6 editing, 4-16 SctPostReductionExec Filters, 9-23 Content Tracker configuration setting, 12-7 IntradocReports, 9-7 SctProxyNameMaxLength IntradocTemplates, 9-7 Content Tracker configuration setting, 12-7 Manifest, 9-10 SctReductionAvailableDatesLookback MergeRules, 9-22 Content Tracker configuration setting, 12-6 nested tags, 4-15
Index-12 SctReductionLogDir SendCommand method, IdcClient OCX, 22-22 Content Tracker configuration setting, 12-6 SendPostCommand CommandButton properties, SctReductionRequireEventLogs edited, 22-9 Content Tracker configuration setting, 12-6 SendPostCommand method, IdcClient OCX, 22-23 SctScheduledReductionEnable SendPostCommand_Click code, edited, 22-10 Content Tracker configuration setting, 12-6 server errors, viewing, A-1 SctServiceFilter servers, WebDAV, 18-4 configuration file, 12-9 service attributes contents, 12-12 access level, 15-17 editing entries, 12-16 error message, 15-18 SctSnapshotEnable service class, 15-17 Content Tracker configuration setting, 12-6 service type, 15-18 SctSnapshotLastAccessEnable subjects notified, 15-18 Content Tracker configuration setting, 12-6 template page, 15-18 SctSnapshotlastAccessField Service Calls Content Tracker configuration setting, 12-6 ADD_USER, 25-12 SctSnapshotLongCountEnable CHECKIN_UNIVERSAL, 25-21 Content Tracker configuration setting, 12-6 CHECKOUT_BY_NAME, 25-25 SctSnapshotLongCountField DELETE_USER, 25-20 Content Tracker configuration setting, 12-6 DOC_INFO, 25-29 SctSnapshotLongCountInterval EDIT_USER, 25-15 Content Tracker configuration setting, 12-6 GET_CRITERIA_WORKFLOWS_FOR_ SctSnapshotShortCountEnable GROUP, 25-38 Content Tracker configuration setting, 12-6 GET_FILE, 25-30 SctSnapshotShortCountField GET_SEARCH_RESULTS, 25-34 Content Tracker configuration setting, 12-6 GET_TABLE, 25-37 SctSnapshotShortCountInterval UNDO_CHECKOUT_BY_NAME, 25-27 Content Tracker configuration setting, 12-7 Service calls SctUrlMaxLength logging, 12-10 Content Tracker configuration setting, 12-7 service calls SctUseGMT PING_SERVER, 25-11 Content Tracker configuration setting, 12-7 samples, 25-11 SctWebBeaconIDList SOAP response/request, 25-11 Content Tracker configuration setting, 12-7 service class attribute, 15-17 search index service definition table, 15-17 tables Service element, WSDL file structure, 25-44 JCR, 24-7 Service handler filter using configuration file contents, 12-12 JCR, 24-9 configuration file overview, 12-9 search_results.htm file, 15-25 editing entries, 12-16 SearchML, 13-1 service node, 25-7 SearchResultTemplates ResultSet, 9-7 service node, SOAP, 25-7 Search.wsdl, 25-44 service resource attributes, 15-20 Search.wsdl file, 25-44 service resources, 15-16 sections actions, 15-21 data, 4-11 editing, 15-24 form, 4-17 example, 15-17, 15-19 HEAD, HCSF page, 4-11 overview, 1-7 load, 4-10 service ResultSet, Actions column, 15-18 LocalData, 9-5 service type attribute, 15-18 ResultSet, 9-6 services Secure mode reports accessing, IdcCommand Utility, 21-1 values for preference variable, 12-8 actions, 15-18 secure socket communication (SSL) add user, 25-12 JCR adapter, 24-6 customizing, 7-1 secure socket communication (SSL), JCR DOC_INFO, 15-19, 25-29 adapter, 24-6 DOC_INFO_SIMPLE, 4-25 Security Assertion Markup Language, 19-2 examples Security checks actions, 15-21 values for preference variable, 12-8 attributes, 15-20
Index-13 definition, 15-17 dynamic server pages, 4-5, 4-6 resource, 15-17 EOD command-file tag, 21-4 executables, 1-3 IdcService command-file tag, 21-4 RIDC, 23-10 in strings, 15-11 scriptable, 4-8 SOAP startup error, 1-3 passing with XML format, 25-10 Services tab web services, accessing, 25-10 adding and editing service entries, 12-19 special tags, command-file syntax, 21-4 adding field map ResultSets, 12-19 SQL queries SetFocus method, IdcClient OCX, 22-23 customizing for activity metrics, 12-21 settings post-reduction step for activity metrics, 12-21 IsJava, A-1 standard components, 9-1 TraceResourceConflict, A-2 standard page beginning, 1-14 TraceResourceOverride, A-2 standard page ending, 1-14 ShowDMS method, IdcClient OCX, 22-23 standard page header, 1-14 ShowDocInfoLatestRev method, IdcClient standard report pages, 15-27 OCX, 22-24 standard resources ShowWhatsThis method, IdcClient OCX, 22-24 examples, 1-7 Simple Object Access Protocol, 19-1 loading, 1-12 Simple Object Access Protocol. See SOAP standard template pages, 15-27 Site Builder, 13-1 StandardResults template, 15-25 Site Studio StartSearch method, IdcClient OCX, 22-24 web beacon feature, 12-23 startup behavior, Content Server, 1-11 skills for customization, 1-9 startup steps, Content Server, 1-11 skins static table resource, 1-7 description, 3-2 static tables, 15-14 overview, 3-1 editing, 15-14 selection, 3-2 merge rules, 15-14 types, 3-1 Stop method, IdcClient OCX, 22-24 SOAP streams communication, 25-3 receiving, RIDC, 23-11 Data List Elements page, 25-52 sending, RIDC, 23-11 definition, 25-1 string parameters, 15-12 messages, 25-5 strings nodes overview, 1-7 packet format, 25-7 resolving, 1-14 service, 25-7 resource files, 15-10 packet format special characters, 15-11 document, 25-8 structure, 15-10 field, 25-9 structure, files and directories, 9-14 HTTP headers, 25-6 subjects notified attribute, 15-18 idc namespace, 25-6 submitting forms, 4-27 namespaces, 25-6 subnodes, SOAP nodes, 25-7 field, 25-9 optionlist, 25-8 option, 25-9 overview, 25-6 resultset, 25-9 resultset, 25-9 row, 25-9 service, 25-7 super tag, 15-2 user, 25-8 Suppliers module request, 25-6 description, 2-1 web services, accessing, special characters, 25-10 syntax sort properties, 15-8 dynamic server pages, 4-4 Special Characters, 25-10 HCSF file, 4-5 special characters HCSP file, 4-5 command file syntax HCST file, 4-5 #, 21-4 IDOC file, 4-5 command-file syntax service action, 15-18 \, 21-4 system components, 9-1 description, 21-4 system functionality, modifying, 5-1 EOD, 21-4
Index-14 System Properties utility, 1-3, 5-1 layouts, 3-1 system settings, changing, 5-1 skins, 3-1
T U tables UDDI service registry, 25-3, 25-5 content items UNDO_CHECKOUT_BY_NAME service, 25-27 JCR, 24-7 UndoCheckout method, IdcClient OCX, 22-25 display, creating, 8-2 URL encoding dynamic data, 15-3 , XML format, 25-10 file store UseBrowserLoginPrompt property, 22-27 JCR, 24-7 user administration, 5-1 formats, specification, 15-3 user agent, JCR adapter configuration, 24-7 Headline View, 8-2 user authentication, RIDC, 23-9 properties, specification, 15-5 user interface, Launcher, 21-11 resource types, 1-6 user node search index SOAP, 25-8 JCR, 24-7 user node, SOAP, 25-8 Thumbnail View, 8-4 User Personalization settings, 3-2 tables directory, 1-5 user profile personalization settings, 3-2 tags user security, providing, RIDC, 23-13 idcformrules, 4-12 user, IdcCommand utility option, 21-4 Idoc Script, 4-5 UserName property, IdcClient OCX, 22-27 ResultSets utilities, 1-3 nested in, 4-15 IdcCommand repeated in, 4-15 accessing services, 21-1 special, command-file syntax, 21-4 XML definitions of ResultSets, 4-14 V template pages attributes, 15-18 variables example, 15-27 configuration, 15-31 location of standard, 15-24 environment, 15-31 presentation pages, 15-27 HCSF pages, 4-11 results of web page request, 15-27 verify command, 22-13 template resources, 15-24 ViewDocInfo method, IdcClient OCX, 22-25 editing, 15-30 ViewDocInfoLatestRev method, IdcClient MergeRules ResultSet, 15-24 OCX, 22-25 overview, 1-7 virtual folders, 18-3 templates Visual Basic, 22-4 loading, 1-12 Visual Basic environment page, example, 15-27 visual interface for development, 22-4 resource types, 1-6 Visual Basic form, OCX control, 22-5 templates directory, 1-5 visual interface terminology, WebCenter Content directories, 1-2 command defined, 22-12 text editor, 1-10 creating, 22-4 text editor, editing component files, 9-13 descriptive label, 22-11 Thumbnail View tables, 8-4 returned results, 22-13 tips testing, 22-11 dynamic server pages, 4-9 Visual Studio .NET, 25-4 HCSF pages, 4-10 Tomcat server, 20-1, 20-2 W tools, customization, 1-9 toTable column, 9-23 web beacon trace marker, A-2 design guidelines, 12-28 TraceResourceConflict setting, A-2 design limitations, 12-28 TraceResourceOverride setting, A-2 embedded HTML example, 12-29 troubleshooting, A-1 embedded JavaScript example, 12-30 types examples of embedding, 12-29 customization, 1-7 implementation considerations, 12-27 dynamic server pages, 4-3 operational overview, 12-23 overview, 12-22
Index-15 references - overview, 12-25 WSDL served JavaScript example, 12-32 definition, 25-1 with reverse proxy server, 12-23 interface, 25-2 with Site Studio, 12-23 specifications, 25-5 web beacon references WSDL elements data capture, 12-26 Binding, 25-44 embedding, 12-26 Data Types, 25-44 format structure, 12-25 Message, 25-44 formatting examples, 12-25 Port, 25-44 overview, 12-25 Port Type, 25-44 Web Layout Editor, 15-26 Service, 25-44 web pages WSDL file structure, 25-44 altering navigation with dynamic server Binding element, 25-45 pages, 4-1 Data Type element, 25-45 web pages, assembly of dynamic, 1-13 Message element, 25-45 web resource publishing, 3-3 Port type, 25-45 Web Service Policy standard, 19-2 Service and Port elements, 25-46 web services WSDL files context roots, 19-3 CheckIn.wsdl, 25-44 GenericSoapService, 19-3 DocInfo.wsdl, 25-44 IdcWebLoginService, 19-4 GetFile.wsdl, 25-44 IdcWebRequestService, 19-3 MetaData.wsdl, 25-44 .NET, implementing, 25-4 PortalInfo.wsdl, 25-44 Oracle WebLogic Server Search.wsdl, 25-44 WebCenter Content web services, using Workflow.wsdl, 25-44 with, 19-1 wsdl.hda file, 25-49 Oracle WSM, 18-2, 19-2, 25-1 overview, 18-2 X SAML, 19-2 security, 19-2 XML, 13-1 SOAP, accessing conversion, 13-1 overview, 19-1 XML data, 25-2 special characters, 25-10 XML tags, 4-12, 4-13 WebCenter Content with Oracle WebLogic Server definitions of ResultSets, 4-14 web services, 19-1 referencing, 4-13 WS-Policy standard, 19-2 XML-based messaging protocol, 25-5 WS-Security standard, 19-2 XML-based Remote Procedure Call, 25-6 Web Services Definition Language. See WSDL XML-encoding for special characters, SOAP, 25-10 web services framework, 18-2 SOAP communication, 25-3 Z UDDI service registry, 25-3 WSDL interface, 25-2 ZIP file, 9-11 XML data, 25-2 ZOrder method, IdcClient OCX, 22-26 WebCenter Content web services, with Oracle WebLogic Server web services, 19-1 WebDAV architecture, 18-5 clients, 18-4 functions, 18-4 integration, 18-3, 18-4 servers, 18-4 WebDAV Client, 18-4 WebDAV client, 18-4 WebDAV component, 18-3 weblayout directory, 1-6 Workflow.wsdl file, 25-44 working with component files, 9-13
Index-16